Traditionally, the initial concepting in solid-modelling design occurs with pen
and ink on paper. This arcane process greatly restricts the modeller because of
the media being employed. As described in
http://www.cs.huji.ac.il/~arir/cda-abs.html, conceptual design
with the aid of a three-dimensional computer interface will allow the modeller
to better design the initial stages of a solid. Since conceptual design aims at
model prototyping, standard primitives in a Constructive Solid Geometry setting
[hoffman89,fvd90] are employed at allow for quick
manipulation. For quickness in rendering, the Convex Differences Aggregate
representation of a CSG model is used. The original structure of the CSG tree
is never lost allowing for export using an external ray-tracer, or
boundary-representation of the final solid.
Currently, the system is capable of performing regularized boolean operations on cubes, cylinders, and spheres. As can be seen in the screen grabs, the system employs a 2-paned WIMP interface: window 1 contains the CSG tree and window 2 contains the model projected with perspective. It has been developed on 32-bit architecture using the OpenGL API (MESA) and GLUT on linux. I have not yet run tests or anaylsis to determine the effective speed of the interface when the user attempts to perform complex boolean operations on a tree of depth more than a few primitives large; however, initial experimentation indicates promising results.
References