An oct-tree algorithm
We now consider the orthographic projection of more complicated scenes, made up of three-dimensional objects chosen from three of our small set of four primitive object categories. In our implementation of the oct-tree approach, we want to keep things as simple as possible and ensure that the basic algorithm is not obscured by an excessive amount of code dealing with an extravagant variety of object types. We therefore restrict ourselves to scenes that contain only combinations of spheres, (infinite) cylinders and half-spaces; that is, those objects we have already defined in the Analytic_scene C++ class as primitive_type(s) 1, 2 or 3 (see chapter 13). Most commercial oct-tree programs allow for not only our limited choice of objects, but also for a cone, torus, helix and many other types; our short list, therefore, should be extended by the user if further special shapes are required.
Unable to display preview. Download preview PDF.