Re: Standardizing coordinate systems, units of measure

Joe Andrieu (andrieu@alta.COM)
Mon, 15 Aug 94 13:59:23 PDT

>The need for staadardization is for a far more practical reason.
>Consider this: I have just entered a new virtual space. Because
>the initial camera orientation is part of the vrml spec, so far
>everything is OK. But now I want to "walk" (take a "step" or "stride"
>by "one-half meter") in the "forward" direction. How far is that?
>In what direction?

Ok. I think I understand, but I still believe this isn't a _space_ issue.
The viewer client should always be able to move in whatever direction and
manner desired, and we seem to agree on that. "Walking" is sort of a
limitting concept if it's the only way the viewer can move through the

However, defining Characteristic Motions could add significantly to the
usability and friendliness of a space. I think it'd be a good thing to
identify the Characteristic Motions a space should/could support - walking,
jumping, flying, etc., and possibly define some defaults in terms of the
default unit (meters or whatever). Then, if I have a client that supports
a walk around mode, I can 'walk' through a space and move through the room
as the author intended. "Wow, walking through this room is like being on
the moon..."

But I think this is quite different from defining the space. It's defining
motions, which is something we should deal with, but IMHO it should be
separated from the spacial aspects of VRML.

>Since VRML will have general modelling transforms, you will have the
>freedom to do what you want to do. Since VRML cameras will have
>look-at point, camera location, and screen up directions, again, things
>are OK. But the fact that the camera is lying flat on its back,
>staring into the sun does not mean that camera up is the same as
>world up.

Yes. But that only matters if my motions are to be specified by the
author. If my body is that of a bumblebee, "flat on my back" isn't really
an imporant concept, since I won't be walking like a human anyway.

>Similarly, If someone gives me a "cool picture of a ming vase",
>how big can I expect the vase to be? 1 unit? 1000000 units? Thus,
>Its nice to agree on the size of a meter, and which way is "up".

I agree with specifying a common distance measurement. And within an
object, VRML should prolly specify which orientation is default for
invocation - so I can call an instantiation of a Painting and expect to see
it right side up and facing me.

But a _space_ defines it's own up and down in the relationship of the
objects. If the sun is "up" and I'm lying on my back at a particular entry
point, "up" is only relevant if there is gravity or some other factor
affecting Characteristic Motions. If that same world were weightless,
where 'walking' is a strange concept, "up" is not very usefull.

I'd like to separate motions and spaces, just as we want to separate
actions and controls. (motions here means viewer/camera movement, while
action is object activity). Motions describe client movement through the
space; spaces define the relationships of objects in a cartesian coordinate
system; actions define the object-initiated manipulations of the space; and
controls define external manipulations of the space (whether initiated by
server, client, human, or agent). There may be better words or
definitions, but I think at least three of these isolate areas of VRML we
should approach with awareness of their distinct natures.

Does this breakdown of things in VRML make sense?


Joe Andrieu