3. Technical BackgroundThis section describes the technical requirements to use 3dhtml and how it works with the browser's DHTML capabilities regarding rendering speed and the object-orientation involved.
3.1 PrerequisitesTo see the demos and to be able to program with 3dhtml you must use a new browser. This toolkit has been tested with the following browsers:
Also, you'll need quite a fast machine to be able to see the examples in smooth quality.
3.2 ProjectionFirst of all it is not really possible to draw rendered images with DHTML. Some approaches are to use colored tables or to scale images dynamically.
3dhtml uses layer positioning and therefore can't draw lines or other objects than points.
To display a three dimensional object on the two dimensional screen we must project the 3D object onto a 2D plane. There are two projections to accomplish this: The parallel and the perspective projection.
Our approach is using the parallel projection because we can simulate it by making use of the z-Index of the layers (which represent the 3D points). Hence every point covers the objects behind itself due to the included z-buffer.
3.3 Pivot and coordinatesThe pivot is the central pin around the models turn, the center of rotation.
See also 4.3 Molecule3D # SceneModel & Pivot
Compare the following manipulations and how they perform.
The translation is given in model coordinates (MCS) and the pivot setting is done in the world coordinate system (WCS), respectively in the parent coordinate system if model is linked to a parent model.
3.4 Scene graph
A scene graph is a strict hierarchy of model objects. Take advantage of it by linking models together to set the points of a child object in correct relation to its parent object.
3dhtml does not support appearance attribute hierarchies, regretfully. The scene graph can handle only transformations.