I have been listening to the VRML debates on choosing a standard unit of
measure, and having each scene or object builder map their own descriptions
into that one, either in their own definitions or at the head of their file.
DON'T DO IT!
I work for a company that advises the U.S. Military on Space Programs, and I
want to share some relevant experience. We have built (in-house) a large
conceptual design environment for space systems (so it is not the engineering
design level that uses pictures, but read on). The system contains hundreds
of models, of everything from particular spacecraft components, to advice on
choosing antennas for satellites, to calculations the help choose physical
configurations for particular missions. All of these models were produced at
different times by different people, in different units that were appropriate
to their modeling problem at hand.
Early on, we decided to allow the units to be specified separately for each
model, and changeable by the user at model use time. It was one of the best
choices we made. It means that the models are defined in the model builder's
own units, so that the numerical constants are in an immediately familiar form
and can be validated more reliably. It means that the conversion is done
automatically by a program instead of by humans who have no experience at
estimating the appropriate numbers by eye.
The computation for unit conversions is trivial. VRML should allow the system
objects to specify their internal units BY NAME, and provide a goodly set of
allowable choices a priori. Then only the unusual measures will need
definitions (and it would be helpful to allow for those unit conversion
definitions at the start of the files also, so the objects in the scene
themselves are still expressed in the appropriate units for the objects).
Separately, there is the numerical problem of objects specified in wildly
inappropriate units: imagine a galaxy with spots expressed in meters. That
would be silly. Similarly for a subcellular or (worse) molecular structure.
By the way, it would also be useful to have a way to define objects whose
points or other structures are randomly generated. You should not assume that
all the parts of the scene are explicitly represented; that would cut out all
fractal image generation algorithms (in case you don't know, most of the
computer-generated background that has appeared in movies has been produced
using fractal terrain models).
Oh, and one final point, I have seen no discussion of the "scene" itself as an
object in the scene, i.e., the background that holds the objects together,
sets the basic scale for the display itself, and shows the objects'
relationships to each other. I think it needs to be considered.
Dr. Christopher Landauer
System Planning and Development Division
The Aerospace Corporation
The Hallmark Building, Suite 187
13873 Park Center Road, Herndon, Virginia 22071
Phone: (703) 318-1666, FAX: (703) 318-5409