Research at the Institute of Data Analysis and Visualization
Jump to:
Sweeping Trivariate Solids Along Curved Paths

Jason Conkey, and Kenneth I. Joy


Abstract

Image

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

Institute for Data Analysis and Visualization | University of California
One Shields Avenue | Davis, CA 95616 | Phone: (530)-752-6298 | Fax: (530)-752-8894