Space Division for Ray Tracing in CSG Geoff Wyvill University of Otago Toslyasu L Kunil and Yasuto Shirai University of Tokyo Figure 1. Fishplate. Constructive Solid Geometry is becoming the method of choice for a range of applications in engineer- ing design. In a CSG system the user defines solid objects by describing a sequence of logical operations on volumes of space. For example, the holes in the fishplate in Figure I are created by logically subtracting cylinders from the bare plate. Descriptions of such systems are provided by Boyse and Gilchrist,' Brown,' and Sequin and Strauss? A general introduction to the subject is provided by Myers' and Requicha and Voelcker?,6 The basic operations of CSG are union and subtraction of sets of points. Any solid shape can be considered as an infinite collection of points in space, and the operation of union is equivalent to joining two objects by welding or gluing. Subtraction is equivalent to cutting. The object at the top of Figure 2 is a block from which one cylinder has been subtracted (to make the scooped top) and one has been added. 0272-1716/86/040020028$01.00 e 1986 IEEE A system of Constructive Solid Geometry (CSG) enables an engineering designer to compose three- dimensional shapes by combining simpler ones. Defi- nitions of such objects are represented by tree struc- tures or directed acyclic graphs. Most existing systems convert this representation to a more conventional boundary representation of the solids in order to render pictures from the model. More recently, a number of systems have been described that render the pictures directly from the CSG struc- ture. We describe such a system. We render a scene by ray tracing from a directed acyclic graph. This process is made efficient for large models by using an adaptive method of space division to reduce the number of intersection calculations needed. IEEE CG&A 28