Graphics Reference
In-Depth Information
Figure 5.45.
Neighborhood classification
of an on/on point.
Figure 5.46.
The need for separating planes.
N( p , X ) = (F,F,T,T) and N( p , Y ) = (T,T,F,F). In Figure 5.44(b), N( p , X ) = (F,F,T,T)
and N( p , Y ) = (F,F,T,T). Simple Boolean operations on these representations would
then determine the neighborhood of points in the on / on case. In a corresponding
three-dimensional example of orthogonal blocks one would use an encoding based on
octants. The reader is referred to [Tilo80] and [ReqV85] for a discussion of how one
would handle more general cases.
Next, we consider the problem of converting from a b-rep to CSG, which is much
more difficult than going in the opposite direction. The basic idea is to use the half-
spaces associated to the faces of the b-rep to describe a CSG representation. Unfor-
tunately, this may not work as the example in Figure 5.46(a) shows. The shaded region
consisting of the three regions A , B , and C is our solid X and H 1 and H 2 , the interi-
ors of the horizontal and vertical ellipse, respectively, are the halfspaces associated to
the faces of X . No CSG representation which only uses these two halfspaces will rep-
resent X because any space defined by such a representation that contains region C
will also contain region D . We have to introduce some additional halfspaces, called
separating planes . The separating plane and the halfplane H 3 below it shown in Figure
5.46(b) will do the job for the space X . For example,
(
) »«
(
) »«
(
)
XH
*
H
*
H
*
H
*
H
*
H
.
(5.5)
3
1
3
2
1
2
Search WWH ::




Custom Search