Graphics Reference
In-Depth Information
Figure 5.27.
The regions used to define a local
distance function for a facet.
sphere labeled sphere i . Let f cylij be the local distance function associated to the cylin-
der labeled cyl ij that is centered on the edge from p i to p j and meets the spheres
labeled sphere i and sphere j tangentially. Let f planes be the local distance function asso-
ciated to the planes that meet the spheres labeled sphere i tangentially. Then the local
distance function f( p ) associated to the facet is defined by
() =
()
f
p
f
p
,
if
p
Œ
sphere labeled sphere
i
si
()
=
f
p
,
if
p
Œ
cylinder labeled cyl
ij
cylij
()
=
f
pp
,
if
Œ
region labeled planes
.
planes
If the radius is not constant over a facet but varies linearly over it, then a similar con-
struction works using cones rather than cylinders. In the end, the refleshed object is
defined as the halfspace of a (distance) function. The implicitly defined boundary (the
zero set of the function) can then be polygonized by some standard method if this is
desired.
One goal of the medial axis representation is to make modeling easier for the user.
For one thing, we have reduced the dimension by one. An example of this is the rep-
resentation of an object by orthogonal projections. See [Bloo97], [STGLS97], and
[BBGS99] for how a user might edit an object using its medial axis. In [BBGS99] the
basic approach to editing a solid was
(1) Compute the medial axis and radius function for the solid.
(2) Allow the user to interactively edit the skeleton and radii.
(3) Reflesh to obtain the edited solid.
(4) Polygonize the boundary of the solid so that the user can use the b-rep for
other purposes.
The allowed editing operations were
(1) Stretching: The user picks skeletal vertices and a translation vector.
(2) Bending: The user picks a joint and specifies a rotation by clicking with the
mouse on one side of a separating plane through the rotation axis.
(3) Rounding: At sharp convex edges the wing sheets meet the boundary of the
object and the disk radii go to zero. The user can either remove the wing sheets
or change the disk radii.
Search WWH ::




Custom Search