Graphics Reference
In-Depth Information
Figure 5.44.
An ambiguity in the
on/on case for » *.
One computes PMC by using the CSG structure of X . What this means is that
(1) one has to know the value on the CSG primitives, and
(2) one needs to be able to combine values for the various set operations, that is,
if op is one of the operations such as »* and «*, we need to express PMC
( p , X op Y ) in terms of PMC ( p , X ) and PMC ( p , Y ).
As an example, here is the answer, in table form, to the combine operation (2) for the
operation «*:
X \ Y
in
on
out
in
in
on
out
on
on
on/out
out
out
out
out
out
There is a complication in the case where the point p is on both sets. Figure 5.44 shows
the problem. We are unable to distinguish between the situations shown in Figure
5.44(a) and (b). To resolve this problem we need to store some neighborhood informa-
tion N( p , X ) whenever the point is on X . We therefore redefine the PMC function to
PMC ( p , X ) = in ,
= out ,
= ( on , N( p , X )).
Describing the neighborhoods N( p , X ) can get complicated in general, depending
on the kind of primitive spaces one allows. However, as an extremely simple two-
dimensional example consider the case where the primitives are simply orthogonal
rectangles. In that case it is possible to encode N( p , X ) as a 4-tuple (a,b,c,d), where a,
b, c, and d are T or F because the essential nature of a disk neighborhood of a point
p on the boundary of X can be captured by considering the disk to be divided into
quadrants and specifying which quadrant belongs to X . A quadrant is assigned a T if
it belongs to X and an F, otherwise. See Figure 5.45. In Figure 5.44(a), we would have
Search WWH ::




Custom Search