next up previous
Next: Conclusion Up: CSG with Superquadrics Previous: Modeler environment

Database

CSG kernel has mixed list and binary tree object database. Database can be described with the following parts: list of the materials, list of the surfaces, list of the top object (object without predecessors), binary tree of the operations with objects, and list of the primitives.

Interpreter consists of 40 commands for manipulating database, display materials, and extensions. Only one command for creating primitive is needed. CSG tree can fully be manipulated through selection routines which can select objects by name, by point, nearest point, by box, etc. Selection processing consist of clearing, adding, removing, inverting, and listing operations. Regularized boolean operations are applied on selections. Other commands such as geometric transformations, property editing, view transformations, import/export routines also works on selection or on top objects. Object properties like volume, mass and center of the gravity are calculated with octree quantization.

  figure113
Figure 4: Commands to create substraction of two spheres

Figure 4 shows simple example for creating subtraction of two spheres. Second sphere of radius 5 and at center position (0, 0, 6) is subtracted from the first sphere of radius 10 at axis origin. Every object in the tree can be named and given material properties.

  figure121
Figure 5: CSG example with superquadrics and different types of representation and resolution

Figure 5 shows an extended example with nine superquadrics. Eight operations ( 3 + and 5 -) were used to build the example. Left figure is rendered with 40 isosamples, centre and right figure with only 12 isosamples.



Leon Kos
Wed May 27 11:00:46 CEST 1998