Abstract
An important problem in the CAD world is to calculate the
envelope surface of a parametric solid object swept along a path
in three-dimensional space.
The boundary surface of the solid is the combination of parametric
surfaces and an implicit surface where the Jacobian of the defining
function has a rank-deficiency condition. Using this condition,
we determine a set of square sub-Jacobian determinants that must
all vanish simultaneously on the implicit surface. When the generator
of the swept surface is a trivariate tensor-product B-spline
solid and the path is a B-spline curve, we can give a robust
algorithm to determine the implicit surface. This algorithm is
based upon the ``marching tetrahedra'' method, which is adapted
to work on 4-simplices. The envelope of the swept solid is given
by the union of the parametric and implicit surfaces.
Sweeping trivariate solids is a difficult problem. The problem
is really four dimensional -- three dimensions belonging to the
trivariate generator, and one dimensional belonging to the univariate
trajectory along which the generator is swept. The generator
can be rotated and/or scaled as it is swept along the curve.
The general formulation can be expressed as
S(u,v,w,t) = T(t) + R(t)G(u,v,w)
where S is the swept solid, T is the
trajectory curve, and R is the "coordinate frame
transformation matrix" which determines the orientation
of the generator G.
It is well known that the "envelope" of this surface
is defined by two types of functions -- a group of parametric
functions defined by restricting the equation to the boundaries
of the domain space, and an implicit function which is defined
where the rank of the Jacobian matrix of S has rank
less than or equal to 2.
We utilize our previous work on trivariate splines to find
the envelopes of the parametric functions and use isosurface
methods to find the envelopes of the implicit functions. We subdivide
the domain space, isolating the areas of the domain where the
implicit surfaces lies. Then we split these small domain cells
(which are 4-dimensional) into 4-simplices. For each simplex,
we use a "marching tetrahedra" algorithm to approximate
the envelope surface in the cell.
The three illustrations above show the generator (left) and
two sweeps of the generator along a semi-circular curve. Since
the Jacobians of the defining function S always has rank three
in these cases, the envelopes can be generated only from the
parametric equations.
The illustrations above show the generator and the envelope
of a swept object where the generator has been swept along an
"S-shaped" curve. This surface requires the full set
of parametric and implicit surfaces to be generated to accurately
illustrate the envelope.
The solid, shown
on the left, utilizes the same generator and sweeps the generator
along a semi-circular arc. The generator is "tumbled"
as it is swept.
Publications
Contact
Ken Joy