Graphics Reference
In-Depth Information
Figure 5.47.
A b-rep to CSG conversion example.
disk by standard set operations. We need more halfspaces and the separating half-
space shown in Figure 5.47(c) resolves our problem.
We are now ready to describe the steps in a general b-rep-to-CSG conversion.
Step 1:
We use the b-rep of our solid X to specify halfspaces associated to each face
in the boundary.
Step 2:
Since the halfspaces we get from Step 1 may not be adequate to describe X
in a CSG way, we may have to introduce additional separating halfspaces.
This is the hardest part of the conversion. What we do is to compute the
canonical intersections of the halfspaces derived in Step 1. They divide the
whole Euclidean space into a collection of cells. These cells and their inte-
riors do not need to be connected. (See Figures 5.46 and 5.47.) Heavy use
of the point membership classification function enables us to determine the
in / out classification of these components. This classification tells us whether
we need separating planes and is also used to find such planes if they are
needed.
Step 3:
The CSG decomposition is gotten from the cells in Step 2 by taking a union
of all the cells that consisted of in points.
Step 4:
The CSG decomposition we get in this way may not be very efficient and
so as a last step one may try to perform some optimization which either
minimizes the number of primitives or the number of set operations.
Search WWH ::




Custom Search