Game Development Reference
In-Depth Information
w
v
C
Figure 5.3. Object C is fully contained in the closed negative half-space of the plane
defined by normal vector v and support point w = s C ( w ) .
s C that maps a vector v to a point of C , according to
s C ( v )
C
·
s C ( v )=max
{
·
C
}
such that
v
v
x : x
.
In plain terms, a support mapping returns a point of an object that lies furthest in
the direction of the input vector. We say “a point” since such a point is not neces-
sarily unique. In cases where multiple points yield the maximum dot product, the
support mapping may return any of these points. We do not care which point as
long as it yields a maximum dot product with the input vector.
The result of a support mapping for a given vector is called a support point .
A support point w = s C ( v ) together with its input vector v forms a supporting
plane of the object defined by the set of points x for which v
·
·
w .The
object itself is fully contained in the closed negative half-space of this supporting
plane, as can be seen in Figure 5.3.
Support mappings can be found for all primitive shape types, such as triangles,
spheres, cones, and cylinders. For example, the support mapping of a polytope is
simply the support mapping of its set of vertices. Furthermore, support mappings
for objects that are obtained from primitive shape types by affine transformation,
convex hulls, and Minkowski addition can be constructed using the support map-
pings of the primitive types. A discussion of support mappings for commonly
used shape types falls outside the scope of this chapter. The reader is referred
to [van den Bergen 03] for learning more about support mappings. However, it is
important to note that the support mapping of the CSO of A and B is given by
x = v
s A−B ( v )= s A ( v )
s B (
v ).
A support point of the CSO is simply the vector difference of the support points
for the two objects. As can be seen, an explicit representation of the CSO is not
required as long as we rely purely on support mappings in our algorithms.