DETC2000/DAC-14229 - University of...

8
1 Copyright ©2000 by ASME Proceedings of DETC00 2000 ASME Design Engineering Technical Conferences September 10–13, 2000, Baltimore, Maryland DETC2000/DAC-14229 METHOD AND CODE FOR THE VISUALIZATION OF MULTIVARIATE SOLIDS Karim Abdel-Malek Department of Mechanical Engineering and Center for Computer Aided Design The University of Iowa Iowa City, IA 52246 Tel. (319) 335-5676 [email protected] Jingzhou Yang Department of Mechanical Engineering and Center for Computer Aided Design The University of Iowa Iowa City, IA 52246 [email protected] ABSTRACT This paper is devoted to a method and computer code for the automatic visualization of multivariate solids. Example of a multivariate solids arise in computer aided geometric design when a geometric entity is swept in space, where the totality of points touched by the entity is called the swept volume and is characterized by an equation of many parameters. The method and code are presented in an integrated manner and are aimed at providing the reader with a replicable computer algorithm. The formulation for is based on the implicit function theorem; is applicable to the visualization of solids of any number of parameters; and produces the exact boundary representation. Considering the solid as a manifold (possibly with boundaries), it is shown that further stratification of the various submanifolds yields varieties that can be depicted in R 3 . A measure of the computational complexity is presented to give the reader a sense of robustness of the method. The code is developed using a symbolic manipulator and is presented with a number of examples. INTRODUCTION A broadly applicable analytic formulation for the visualization of multivariate solids is presented that is based on a rigorous mathematical approach. The basic problem which this work addresses is the following: It is required to visualize a solid that is characterized by a single equation of three or more parameters parameters (e.g., a surface has two parameters, the sweep of a surface along a curve yields a solid of three parameters, the extrusion of the solid along an axis yield an equation of a solid parameterized in four parameters, etc.). Sweeping in this paper is defined as the motion of a geometric entity along a given path while specifying its orientation. The objective is to find the new solid volume which represents all of the points in space which the object has occupied at some time during the motion. In this paper, we present a method that is comprehensive and that yields a formulation for visualizing the exact solid. The main challenge for this formulation has been the lack (and proclaimed difficulty) of computer implementation. Therefore, the motivation for this work is to demonstrate a simple step- by-step computer program that implements our proposed formulation. While the code represents thousands of lines of computer programs, it is presented in concise and replicable form using a symbolic manipulator. The topic of multivariate solid visualization has not received considerable attention in the past because of the delicate mathematics associated with its underlying formulation. The need for implementing swept volumes in many disciplines such as manufacturing automation, is what has recently enticed various researchers to address this issue (see Kieffer and Litvin 1991, Abdel-Malek and Yeh 199b, Blackmore, et al. 1997). This paper presents a mathematical method that employs symbolic manipulation to implement methods adapted from differential geometry and differential topology towards the visualization of multivariate solids. The underlying problem for all application areas addressed herein is characterized by the definition of a configuration space (a manifold, possibly with singularities) for a point in R n , the movement of which is constrained by a series of parameters. The term “manifold” will be used in a non-rigorous fashion for brevity of exposition (although it may have boundaries and singularities). Simple sweep technology in commercial systems also exists but is limited by the type of swept entity and the number

Transcript of DETC2000/DAC-14229 - University of...

Page 1: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

1 Copyright ©2000 by ASME

Proceedings of DETC002000 ASME Design Engineering Technical Conferences

September 10–13, 2000, Baltimore, Maryland

DETC2000/DAC-14229

METHOD AND CODE FOR THE VISUALIZATION OF MULTIVARIATE SOLIDS

Karim Abdel-MalekDepartment of Mechanical Engineering and

Center for Computer Aided DesignThe University of Iowa

Iowa City, IA 52246Tel. (319) 335-5676

[email protected]

Jingzhou YangDepartment of Mechanical Engineering and

Center for Computer Aided DesignThe University of Iowa

Iowa City, IA [email protected]

ABSTRACTThis paper is devoted to a method and computer code

for the automatic visualization of multivariate solids. Exampleof a multivariate solids arise in computer aided geometricdesign when a geometric entity is swept in space, where thetotality of points touched by the entity is called the sweptvolume and is characterized by an equation of manyparameters. The method and code are presented in anintegrated manner and are aimed at providing the reader witha replicable computer algorithm. The formulation for is basedon the implicit function theorem; is applicable to thevisualization of solids of any number of parameters; andproduces the exact boundary representation. Considering thesolid as a manifold (possibly with boundaries), it is shown thatfurther stratification of the various submanifolds yields

varieties that can be depicted in R 3 . A measure of thecomputational complexity is presented to give the reader asense of robustness of the method. The code is developedusing a symbolic manipulator and is presented with a numberof examples.

INTRODUCTIONA broadly applicable analytic formulation for the

visualization of multivariate solids is presented that is based ona rigorous mathematical approach. The basic problem whichthis work addresses is the following: It is required to visualizea solid that is characterized by a single equation of three ormore parameters parameters (e.g., a surface has twoparameters, the sweep of a surface along a curve yields a solidof three parameters, the extrusion of the solid along an axisyield an equation of a solid parameterized in four parameters,etc.). Sweeping in this paper is defined as the motion of ageometric entity along a given path while specifying its

orientation. The objective is to find the new solid volumewhich represents all of the points in space which the object hasoccupied at some time during the motion. In this paper, wepresent a method that is comprehensive and that yields aformulation for visualizing the exact solid. The mainchallenge for this formulation has been the lack (andproclaimed difficulty) of computer implementation. Therefore,the motivation for this work is to demonstrate a simple step-by-step computer program that implements our proposedformulation. While the code represents thousands of lines ofcomputer programs, it is presented in concise and replicableform using a symbolic manipulator.

The topic of multivariate solid visualization has notreceived considerable attention in the past because of thedelicate mathematics associated with its underlyingformulation. The need for implementing swept volumes inmany disciplines such as manufacturing automation, is whathas recently enticed various researchers to address this issue(see Kieffer and Litvin 1991, Abdel-Malek and Yeh 199b,Blackmore, et al. 1997).

This paper presents a mathematical method thatemploys symbolic manipulation to implement methods adaptedfrom differential geometry and differential topology towardsthe visualization of multivariate solids. The underlyingproblem for all application areas addressed herein ischaracterized by the definition of a configuration space (amanifold, possibly with singularities) for a point in Rn , themovement of which is constrained by a series of parameters.The term “manifold” will be used in a non-rigorous fashion forbrevity of exposition (although it may have boundaries andsingularities).

Simple sweep technology in commercial systems alsoexists but is limited by the type of swept entity and the number

Page 2: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

2 Copyright ©2000 by ASME

of consecutive sweeps. Moreover, approximations are used torepresent the resulting swept volume. Indeed, whenconsecutive sweeps are implemented, the error significantlyincreases because the result of each individual sweep operationis approximated. The approximation is necessary because ofthe limitation imposed by current formulations that allow onlythree parameters (two for the swept entity and one for thesweep path). The main goal of this research is to investigatemeans and methods for implementing this technology intocommercial code in a fast and efficient manner.

We will first review prior work in the field. Thebackground formulation will then be presented in Section 3 isan integrated and systematic manner taking into account bothimplicitly and parametrically defined geometric entities. Thedetermination of all parts comprising the manifold (manifoldstratification) will be presented in the context of determiningall varieties of the submanifold (Sections 3-5). Computerimplementation and computational complexity of the methodwill be presented in terms of the processing time required.Illustrative examples will be shown and future directions ofthis research will be discussed. Future directions of thisresearch will be addressed in Section 12.

PRIOR RESEARCHTrivariate B-Spline and Bezier solids have been treated

by a number of researchers. Stanton, et al. (1977), Casale andStanton (1985), and Farouki and Hinds (1985) all discuss thetrivariate form, but avoid the equations of construction of thegeneral boundary surfaces. Lasser (1985) discusses the generaltrivariate B-spline form, the generation of points in the volumeand the generation of derivatives of these solids. Sederbergand Parry (1986) utilized the freeform trivariate B-spline solidfor deformations. They embed an object in a deformableregion of space defined by the trivariate solid such that eachpoint of the object has a unique parameterization that definesits position in the region. The trivariate region is then alteredby moving its control points. Using the trivariate form givesgreat flexibility to the definition of the deformable regions, andgives few parameters, which can be used to control thedeformation. Rappaport, et al. (1996) have incorporatedphysical properties into freeform trivariate solids. Reus, et al.(1992) treated the trivariate tensor-product solid in a physicalmanner.

The most rigorous work pertaining to the determinationof the boundary of swept volumes is the use of sweepdifferential techniques (Blackmore and Leu 1992, Blackmore,et al. 1992, Weld and Leu 1991, and Leu, et al. 1986). In thiswork, the sweep differential equation (called SDE) and theboundary flow methods are shown to be related to the Liegroup theory structure of Euclidean motions. The extension ofthe sweep differential equation method is also used todetermine deformed sweeps (Blackmore, et al. 1994). Thiswork presents an elegant method for determining the sweptvolume with applications to robotics and to NC verification

(Blackmore, et al. 1997a and Leu, et al. 1997). A summary ofthis work presented by the authors can be found in Blackmore,et. al (1997b).

Other formulations for addressing the sweep generatedby deformable objects was reported by Boussac and Crosnier(1996). Because of the importance of the NC verificationproblem, there have been many works addressing simulationtechnologies such as those reported by Menon and Voelker(1992), Liang, et al. (1997), Liu, et al. (1996), Jerard andDrysdale (1988), Voelker and Hunt (1985). Envelope theoryhas met with limited success at evaluating the swept volume asfirst presented by Wang and Wang (1988) and Sambandan andWang (1989), and followed by many reports extending thetheory. For example, Martin and Stephenson (1990) evaluatedthe swept volume of a three-dimensional object moving alongan arbitrary path and have highlighted the implementation ofthe swept volume technique as an additional tool inConstructive Solid Geomtery (CSG). To date, the envelopetheory has not been shown to solve consecutive sweeping withmore than three parameters, nor has it been extended todetermine voids in the volume. Other reports that haveaddressed the sweeping of objects in space include Klok(1986), Ahn, et al. (1993), Bronsvoort, et al. (1989), andCoquillart (1987), Ilies and Shapiro (1999), Juttler andWagner (1996 and 1999).

Expanding the “domain of solid modeling using sweptvolumes” has also been asserted by researchers to be of greatimportance (Hu and Ling 1996 and Ganter et al. 1993).Learning and creating new methods to represent complex solidmodels is a goal that is of importance to many industries thatimplement CAD technology.

Kieffer and Litvin (1991) developed an algorithm forthe determination of all surfaces and edges that may bound theswept volume. Computations of volumes swept by polyhedralobjects in order to compute viewpoints for monitoring objectsand features in an active robot work-cell is reported by Abramsand Allen (1995). Another type of mathematical approach isdefined by Schroeder and Lorensen (1994) as the minimizationof the sum of distances from the moving object (a polygon).The instantaneous screw theory, adopted from kinematics, isalso used to generate a swept volume (Parida and Mudur1994). More recently, sweep techniques were used to defineboundaries of trivariate solids for visualization purposes (Joyand Duchaineau 1999 and Madrigal and Joy 1999).

In prior work, we have demonstrated (Abdel-Malek andYeh 1997a, Abdel-Malek, et al. 1997) a general formulationfor identifying singular surfaces that may exist on theboundary of a swept volume. The method was implemented torobotics analysis (Abdel-Malek and Yeh 1997b, Abdel-Malek,et al. 1999a) and to NC verification (Abdel-Malek, et al.1999b). Recently, it was shown that a quadratic form on asurface characterizing the acceleration of a point in the volumeidentifies the boundary (Abdel-Malek, et al. 1998) of thevolume in a systematic manner. Furthermore, a methodology

Page 3: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

3 Copyright ©2000 by ASME

was developed using a formulation adapted from kinematics(called the Denavit-Hartenberg representation method) toaccurately and systematically represent consecutive sweeps(Abdel-Malek and Othman 1999, Blackmore, et al. 1999,Abdel-Malek, et al. 1999c).

FORMULATION FOR IMPLICIT AND PARAMETRICSOLIDS

The purpose of this section is to present the underlyingformulation in an integrated manner characterizing the sweepof both implicitly and parametrically defined surfaces togenerate solids, by means of defining the manifold withsingularities, performing a manifold stratification, anddetermining all varieties and visualizing manifold strata. Wepresent the complete formulation in a referenced mannerpertinent to definitions and theorems adopted from DifferentialGeometry and Differential Topology (Spivak 1976, Guilleminand Pollack 1974, Lu 1976). Consider a geometric entity parametrized in terms ofone or more variables as a ( )3 1× vector given by G( )u ,

where u = [ ,..., ]u unT

1 in n-dimensional space R n . This

could be a curve, a surface or volume such as the sphere

G( ) cos cos cos sin sinu = u u u u u u u uT

1 2 3 1 2 3 1 2 ).

In order to generalize the formulation, we consider boundariesimposed on G( )u in the form of constraints on the parameters

ui characterized by inequalities in the form of u u uiL

i iU≤ ≤ .

We will also consider surfaces implicitly defined on K

where G( )u = u u uT

1 2 3 and where this surface will be

represented by a number of inequalities, with no restriction onthe number of inequalities nor on the type of variables. Let Kbe represented by

K f fL UNL

N NU: : ( ) ,..., ( ) ,= � � � �u u u l l l l1 1 1=

u u u u u uL UML

M MU

1 1 1≤ ≤ ≤ ≤,..., A (1)

where f = [ ,..., ]f f NT

1 and fi ( )u denotes an expression

representing the surface; li is a limit; the upper subscript L

indicates the lower limit; U denotes the upper limit; N is thenumber of expressions; and M is the number of variables.

The sweep of a geometric entity is governed by an orientationmatrix R and a path. Each path will be considered as a secondgeometric entity parametrized in terms of one or morevariables as a ( )3 1× vector Y1 1( )v . This entity also has a

boundary defined by v v vL U1 1 1≤ ≤ . The manifold (possibly

with corners, generated by the sweep of G( ,..., )u un1 on

Y1 1( )v is defined by the vector

N q R u1 1 1 1 1( ) ( ) ( ) ( )= +v vG Y (2)

where q is a subset of the Euclidean defined by

q = =[ ... ] ...q q u u vnT

n

T

1 1 1 and R1 1( )v is

the ( )3 3× rotation matrix defining the orientation of the

swept entity. In fact, )(1 qN characterizes the set of all points

that belong to the manifold. Another sweep motion yields anexpanded swept volume in the form ofN q R N q R R R2 2 2 1 2 2 2 1 2 1 2( ) ( ) ( ) ( )= + = + +v vY G Y Y (3)

where now q = [ ... ]u u v vnT

1 1 2 . The generalized

case yields a space characterized by the vector function x ,such that

x G Y Y( )q R R= +���

��� +

=

+

= +

+ −

=

+

+∏ ∏∑ii

n m

ii j

n m

jj

n m

n m1 1

1

1

(4)

where q u v= T T T, u = [ ... ]u un

T1 , and

v = [ ... ]v vmT

1 . Note that x( )q is defined on the

Euclidean space R n m+ where x: R R3 → +n m , which is a

Manifold possibly with corners. To impose inequalityconstraints, it was shown (Abdel-Malek and Yeh 1997a) that a

constraint of the form q q qi i imin max≤ ≤ can be transformed

into an equation by introducing a new set of generalizedcoordinates λ i such that

q a bi i i i= + sin λ ; i n m= +1, ... (5)

where a q qi i i= +( )max min 2 and b q qi i i= −( )max min 2 are the

mid-point and half-range, respectively. At a point in the

manifold, a vector constraint function F( )*q with

parametrized inequality constraints is defined as

F

x

( )

( )

. ( ) . ( ) sin

. ( ) . ( ) sin

*q

q

= − + − −− + − −

!

"

$###

+

u u u u u

v v v v vi i

UiL

iU

iL

i

j jU

jL

jU

jL

n j

0 5 05

05 0 5

λλ

(6)

where i n= 1,.. . , and j m= 1, ... , and where

q u v* [ ] [ ... ]= =+

T T T T q q n mT

l 1 2 2 is the vector of

all generalized coordinates and l = +[ ,..., ]l l1 n mT is the

vector of new generalized coordinates. The vector functionF( )*q represents every point in the swept volume.

For the implicit formulation, the constraint is defined by

F

x

( ):

( )

( ) . ( ) . ( ) sin

. ( ) . ( ) sin

. ( ) . ( ) sin

*q

q

u=

- + - -

- + - -

- + - -

!

"

$

####+

+ +

f

u u u u u

v v v v v

i iU

iL

iU

iL

i

j jU

jL

jU

jL

N j

k kU

kL

kU

kL

N n k

05 05

05 05

05 05

l l l l λλ

λ

(7)

where i N= 1,..., ; j n= 1,..., ; and k m= 1,..., where the

vector of generalized coordinates has been augmented to

Page 4: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

4 Copyright ©2000 by ASME

q* ,..., , ,..., , ,...,=+ +

x x v vN m N n m

T

1 1 1λ λ or

q u v* [ ]=

T T T T Tl l1 2 , where

l1 1= [ ... ]λ λ NT

, and l2 1= + + +[ ... ]λ λN N n mT .

IMPLICIT FUNCTION THEOREMIn order to have a well-posed formulation, constraints

that are used to model the geometry of this problem should beindependent, except at certain critical surfaces in the manifoldwhere the Jacobian becomes singular. However, the sweepJacobian is not square. It is important, therefore, that there notbe open sets in the space of the generalized parameters inwhich the constraints are redundant. At any interior point of

the constraint space q* , the sweep Jacobian for parametric

sweeps is defined as

Fx

l

q

q 0

I q* =

�!

"$# (8)

where q ql

l= ∂ ∂ and x xq q= � � . For implicit sweeps,

the Jacobian is derived as

F

x

l

l

q

q

q

0 0

f f 0

I 0 q* =

!

"

$###1

2

(9)

where f f qq = ∂ ∂ ; f fl

l1 1= ∂ ∂ ; and q q

ll

2 2= ∂ ∂ .

Since the swept entities are smooth and continuouslydifferentiable, then the sweep Jacobian exists for bothparametrically and implicitly defined surfaces. In both cases,if the rank of the mapping x q is maximal, i.e. 3, the image

under F of a small neighborhood of q* will be a three-

manifold in three-space. At a point q* where rank of Fq* is

less than 3, the sweep Jacobian becomes singular, or rank-deficient. One might describe this deficiency as “redundancy”in that some number of parameters in the constraint spacebecome dependent, possibly lowering the dimension of theimage set. Redundancy occurs when the Jacobian

Fq*

is rank-

deficient. Candidate varieties that are boundary to themanifold are identified by computing values that create a locusof points where the Jacobian has lower rank than maximal.Varieties are computed when the locus of points has a Jacobianwith a lower rank. Let �W characterize a manifold withcorners as

� ± �W Rank{ ( ) , }*

* for some *F

qq qα (10)

where the rank is at most ( )n m+ + 3 for parametric and

( )n m N+ + + 3 for implicit sweeps.

VARIETIESIn order to enforce the implicit function theorem, square

subjacobians are determined. For example, a 3 4� Jacobianand a rank deficiency of one, there are four 3 3�subjacobians. Equating the determinants of the subjacobiansto zero forms analytic functions. The set of common zerosdefined by this finite number of analytic functions are calledvarieties. In the case of implicit surfaces, these varieties arereadily computed and visualized. In the case of parametricentities, the rank deficiency conditions yield analytic functionsequated to zero that must be simultaneously solved. Thesolutions to the set of functions are singular sets defined by the

vector pi , where q p dT

i

T T= [ ], i.e., d contains the

remaining non-constant parameters.

Substituting p i

T into x( )q yields strata denoted by Vi as

Vi: x x( ) ( , )d q p= i i = 1,...,β (11)

Where β is the number of varieties. In the case of implicitly

defined entities, the vector x( )d is accompanied by the

associated set of functions f = [ ,..., ]f f NT

1 . Note that the

stratification process is to decompose a manifold (Eq. 10) intoa finite disjoint (or union) of closed submanifolds such that� = ­ ­ ­W V V V1 2 ... β (12)

While some strata can be further decomposed, it is onlynecessary to stratify those that cannot readily be visualized.

Some of these varieties are ∈R3 and are rank deficient.This indicates that the resulting submanifold can be furtherstratified and is composed of many parts (called strata). Thestratification process is to decompose a variety V into a finite,disjoint union or closed manifolds.

MANIFOLD STRATIFICATIONFor the case when the stratum x( )d cannot be

visualized, where x li i i( ): ( )d d R R ³ �3 3, and where l is

the corresponding vector of slack variables

l = λ λ λk m

T

l, the Jacobian of the variety is

x xl l= dd (13)

where x xd d= � � and d dl

l= � � . For a parameter at its

limit ( )qilimit , the second block matrix of Eq. (13) is rank

deficient. An elementary matrix of row operations Ei applied

to dl yields a row echelon form such that

E d Ei REl= (14)

where E1

0 1 0

0 0 1

0 0 0

=�

!

"

$###,

E2

1 0 0

0 0 1

0 0 0

=�

!

"

$###, and E3

1 0 0

0 1 0

0 0 0

=�

!

"

$###;

where the subscript denotes the parameter number, and ERE

is a row echelon form. This same matrix applied to x dT

yields

Page 5: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

5 Copyright ©2000 by ASME

E0di

Tx

L=

�!

"$#

(15)

where L L L L= 1 2 3 (16)

where dim( ) ( )L = ×2 3 and dim( ) ( )L j = ×2 1 for j = 1 2 3, , .

For L , the application of the implicit function theorem yieldsthree analytic functions that are equated to zero asL L1 2 0= ; L L2 3 0= ; and L L1 3 0= (17)

Simultaneous solutions to the three equations are the varietiesof this submanifold, i.e., a second stratification process (seeSection A.18). This process can be repeated for each resultingstratum that cannot be visualized.

COMPUTER IMPLEMENTATIONIn this section, we illustrate the implementation of the

above theoretical framework into a computer program thatautomatically performs the analysis and visualization ofmultivariate solids. Mathematica® was used to develop thiscode and to visualize the volume. For commercialapplications, it is recommended that this be converted into amore efficient basic language or embedded in hardware. Inorder to keep the code listing to a minimum, the presentationwill adhere to tasks that are vital to the completion of thealgorithm.

Mathematica® codeI. DefinitionsqL1=0; qU1=5Pi/4; qL2=-Pi/4; qU2=3Pi/4; qL3=0;qU3=5Pi/4; qL4=0; qU4=2Pi;xE[q1_,q2_,q3_,q4_]:=T04[q1,q2,q3,q4].{5,0,0,1}x4[q1_,q2_,q3_,q4_]:={xE[q1,q2,q3,q4][[1]],xE[q1,q2,q3,q4][[2]], xE[q1,q2,q3,q4][[3]]}; p=25;II. Sweep Jacobian computationMatrixPartials[funs_List,vars_List]:=Outer[D,funs,vars];z[i_,j_]:=0 i + 0 j; fns=x4[q1,q2,q3,q4]; vrs={q1,q2,q3,q4};III. Computing the square sub-jacobiansMm2=Table[Simplify[Minors[MatrixPartials[fns,vrs],3]]];IV. Determination of Varietiesa2=Solve[{Minors[MatrixPartials[fns,vrs],3]== Array[z,{1,4}]},{q2}];m2=Dimensions[a2];

If[m2[[2]]!=0, {Array[t2,m2[[1]]];Do[t2[i]=q2/.a2[[i,1]],{I,1,m2[[1]],1}]; j=0;Do[If[Im[t2[i]]==0,j=j+1,Skip],{i=1,m2[[1]],1}];Array[s2,j]; Do[s2[i]=t2[I],{i,1,j,1}];Do[If[s2[i]==0,s2[j+1]=Pi,No],{i,1,j,1}];qs2=Cases[{s2[i],{i=1,j+1,1}},s2_/;s2<=qU2&&s2>=qL2];d2=Dimension[qs2];V. Compute the stratum for each varietyIf[d2[[1]]>=1,{g[p]:=ParametricPlot3D[x4[q1,qs2[[1]],q3,qL4], {q1,qL1,qU1},{q3,qL3,qU3},Compiled->False], p=p+1},No];If[d2[[1]]>=1,{g[p]:=ParametricPlot3D[x4[q1,qs2[[1]],q3,q

U4], {q1,qL1,qU1},{q3,qL3,qU3},Compiled->False], p=p+1},No];If[d2[[1]]>=1,{g[p]:=ParametricPlot3D[x4[q1,qs2[[1]],qL3,q4], {q1,qL1,qU1},{q3,qL3,qU3},Compiled->False], p=p+1},No];If[d2[[1]]>=1,{g[p]:=ParametricPlot3D[x4[q1,qs2[[1]],qU3,q4], {q1,qL1,qU1},{q3,qL3,qU3},Compiled->False], p=p+1},No]; …[Repeat above procedures with respect to other variables andsave the graphics of each singular set]VI. Manifold stratificationxx1[q2_,q3_,q4_]:=x4[qL1,q2,q3,q4];Fns=xx1[q2,q3,q4];Vrs={q2,q3,q4};a11=Solve[{Minors[MatrixPartials[fns,vrs],3]== Array[z,{1,1}]},{q2}]; m11=Dimensions[a11];If additional singularities exist, repeat step II to find out thesingularities which are in the constraint limits save itsresulting graphics in the array g[p].Repeat above procedures to plot the reduced rank deficiencycorresponding to qU1, qL2,qU2,…, qL4,qU4VII. Evaluating the strata of rank deficiency equal to 2g[1]:=ParametricPlot3D[x4[qL1,qL2,q3,q4],{q3,qL3,qU3},{q4,qL4,qU4}, Compiled->False];g[2]:=ParametricPlot3D[x4[qL1,qU2,q3,q4],{q3,qL3,qU3},{q4,qL4,qU4}, Compiled->False]; …….g[24]:=ParametricPlot3D[x4[q1,q2,qU3,qL4],{q1,qL1,qU1}, {q2,qL2,qU2}, Compiled->False];VIII. Visualization of the final swept volume Show[Table[g[k],{k,1,p-1,1}]]

ILLUSTRATIVE EXAMPLES1. Consider a solid defined by

Ku u u

u u: :( )

, ,= =

-+ � � - � �

%&'()*u 3

21

222

1 216

3

9 40 6 2 2 (18)

Note that this is a surface in R 3 given by

z x y2 2 3

16

3

2 4= − +( )

. The sweep is defined by the rotation

R( )

cos( ) sin( )

sin( ) cos( )v

v v

v v1

1 1

1 1

0

0

0 0 1

=

-�

!

"

$###

π ππ π ; for 0 21� �v , where

every point in the swept volume is given by

x Y= +( ) ( )v v u u uT

1 1 1 2 3R and where there will be

no translation Y = [ ]0 0 0 T . The parameters are changed

to generalized coordinates defined by the vector

q= q q q qT

1 2 3 4 where

Page 6: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

6 Copyright ©2000 by ASME

q Sqrtq q

31

222

163

9 4= − +[ (

( ))]

0 6 2 21 2� � - � �q q, and (19)

R( )

cos( ) sin( )

sin( ) cos( )q

q q

q q4

4 4

4 4

0

0

0 0 1

=−�

!

"

$###

π ππ π ; 0 24≤ ≤q (20)

The vector function of Eq. (7) describing the sweep withunilateral constraints after parametrization is written as

F( )

cos( ) sin( )

cos( ) sin( )

[ *(( )

)]

sin

sin

sin

*q =

−+

− − +

− −−

− −

!

"

$

##########

q q q q

q q q q

q

q Sqrtq q

q q

q q

q q

1 4 2 4

2 4 1 4

3

31

222

1 5

2 6

4 7

163

9 43 3

2

1

π ππ π

(21)

where q* ...= q qT

1 7 . Block matrices of the sweep

Jacobian are

xq =

- - -

-

!

"

$###

cos sin cos sin

sin cos cos sin

π π π π π ππ π π π π π

q q q q q q

q q q q q q4 4 2 4 1 4

4 4 1 4 2 4

0

0

0 0 1 0

;

[ ]( )

[ ( ) ] [ ( ) ]f fq l1

4 3

919

34

19

34

1 01

12 2

22

12 2

2=

- -

- +

-

- +

!

"

$

###q

Sqrt qq

q

Sqrt qq

Varieties are computed as p p1 7,..., , where p1 5 2= ={ }q

π;

p2 5 2= =-{ }q

π ; p3 6 2= ={ }q

π; p4 6 2

= =-{ }qπ ;

p5 7 2= ={ }q

π ; p6 7 2= =-{ }q

π ; p7 2 0= ={ }q . In order

to visualize the strata, we substitute each variety into x( )q as

shown in Fig. 1.

-5

0

5-5

0

5

44.55

5.5

-5

0

5

-2

-1

0

1

2-2

-1

0

1

2

4

4.5

5

5.5

-2

-1

0

1

2

02

4

6-2

-10

12

0

2

4

-2

-10

12

Fig. 1 (a) Stratum due to p1 (b due to p2 (c) due to p5

The solid is shown in Fig. 2.

Fig. 2 A 4-parameter solid

COMPUTATIONAL TIMEThe strength of the presented formulation is evidenced

in the ability to obtain exact solutions for any number of sweepparameters and for both implicitly and parametrically definedentities. The code written in Mathematica® can be renderedefficient by converting it in a lower level programminglanguage or embedded in hardware. Nevertheless, and to givethe reader a sense of computational complexity, we haveattempted to measure the computational (CPU) time requiredfor the various examples. Furthermore, a relatively highcomputational cost is associated with obtaining manifoldstrata. This is only available when varieties with more thanone-to-one mapping occur. The following examples werecomputed using a Pentium II PC with 64 MB RAM running at300MHz.

Examples with n m+ = 4

Time used = 10.987 seconds: A 4-parameters solid

-1

0

1-1

0

1

-1

0

1

-1

0

1

-1

0

1

Time used = 4.021 seconds, Self intersectionexample. A 4-parameter solid.

Page 7: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

7 Copyright ©2000 by ASME

Examples with n m+ = 5

Time used = 12.812 secondsWorkspace of the 5DOF (RRPRR) robot.

CONCLUSIONSThe algorithm and experimental computer code

presented in this paper are a culmination of efforts to studyformulations for analyzing and visualizing multivariate solids.It was shown that the method encompasses geometric entitiesdefined in both parametric and implicit forms. It was alsoshown that the rigorous mathematical formulation usingmanifold stratification is capable of addressing multivariatesolid representations. Unilateral constraints imposed on thesolid were also taken into consideration. Exact representationof the solid is achieved and it was shown that the methodologyis suitable for computer implementation. While the computercode developed using Mathematica® is not optimized forcommercial use, it is an illustration of the potential of thismethod for efficient implementation. The ultimate goal is toimplement the formulation as an integral part of commercialCAD systems or as a stand-alone module. Moreover, toaddress the visualization of the multivariate freeform solid.

Computational time measured for various examplesusing the Mathematica® experimental code provides anindication of the efficiency of the code, in view ofimplementing such algorithms in a more appropriate computerlanguage or hardware.

Results are shown that demonstrate the robustness of themethod in visualizing the multivariate solid. The principalcontribution of this method is characterized by its ability toobtain an exact representation for visualizatin purposes, and inits ability to obtain closed-form equations of its boundary.

REFERENCESAbdel-Malek, K. and Othman, S., 1999 (in press) “Multiple

Sweeping using the Denavit-Hartenberg RepresentationMethod,” Computer-Aided Design, Vol. 31, pp. 567-583.

Abdel-Malek, K. and Yeh, H.J., 1997a “GeometricRepresentation of the Swept Volume Using JacobianRank-Deficiency Conditions,” Computer Aided Design,Vol. 29, No. 6, pp. 457-468.

Abdel-Malek, K. and Yeh, H.J., 1997b “Analytical Boundaryof the Workspace for General Three Degree-of-Freedom

Mechanisms,” International Journal of RoboticsResearch. Vol. 16, No. 2, pp. 198-213.

Abdel-Malek, K., Seaman, W., and Yeh, H.J., 1999a(Submitted) “NC Verification of up to 5 Axis MachiningProcesses Using Manifold Stratification” ASME Journal ofManufacturing Science and Engineering.

Abdel-Malek, K., Yang, J., and Blackmore, D 1999c(submitted) “On Swept Volume Formulations: ImplicitSurfaces,” Computer Aided Design

Abdel-Malek, K., Yeh, H.J., and Khairallah, N., 1999b"Workspace, Void, and Volume Determination of theGeneral 5DOF Manipulator, Mechanics of Structures andMachines, Vol. 27, No. 1, 91-117.

Abdel-malek, K., Yeh, H.J., and Othman, S., 1998, " SweptVolumes: Void and Boundary Identification," ComputerAided Design, Vol. 30, No. 13, pp. 1009-1018

Abdel-Malek, K., Yeh, H.J., and Rouwady, R., 1997a “AUnified Formulation for Swept Volume and RobotWorkspace Analysis,” Proceedings of the ASME DesignAutomation Conference, Sacramento, CA, Sep. pp14-17.

Abrams, S and Allen, P K, 1995, “Swept Volumes and theiruse in viewpoint computation in robot work-cells”Proceedings of the IEEE International Symposium onAssembly and Task Planning (1995) pp188-193.

Ahn, J.W., Kim, M.S., and Lim, S.B., 1993, ApproximateGeneral Sweep Boundary of a 2D Curved Object,Comput. Visi, Graps, Img Prcs, Vol. 55(2), pp. 98-128.

Blackmore, D and Leu, M C, 1992, ‘Analysis of Swept Volumevia Lie Groups and Differential Equations’ Int. Journal ofRobotics Research Vol. 11(6) (1992) pp516-537.

Blackmore, D, Jiang, H, and Leu, M C Modeling of SweptSolids Using Sweep Differential Techniques’ Proc. 4thIFIP WG5.2 Workshop Geometric Modeling in Computer-Aided Design, Rensselaerville, NU (1992).

Blackmore, D, Leu, M C, and Frank, S ‘Analysis andModeling of Deformed Swept Volumes’ Computer AidedDesign Vol. 25(4) (1994), pp. 315-326.

Blackmore, D, Leu, MC, Wang, LP, Jiang, H, 1997, “SweptVolumes: a retrospective and prospective view,” Neuralparallel and Scientific Computations, Vol. 5, pp81-102.

Blackmore, D.; Leu, M.C.; Wang, L.P., 1997, "Sweep-envelopedifferential equation algorithm and its application to NCmachining verification", Comp Aided Des 29(9), 629-637.

Boussac, S and Crosnier, A, 1996, “Swept volumes generatedfrom deformable objects application to NC verification”,Proc 13th IEEE Int Conf on Rob and Aut. Part 2 (of 4)Apr 22-28, v 2, Minneapolis, MN, pp. 1813-1818

Bronsvoort, W., Van Nieuwenhuizen, P., and Post, F., 1989,Display of Profiled Sweep Objects. The Visual Computer,1989, Vol. 5(3), pp. 147-157.

Coquillart, S., 1987, A Control Point Based SweepingTechnique. IEEE Computer Graphics and Applications,1987, Vol. 7(11), pp. 36-44.

Page 8: DETC2000/DAC-14229 - University of Iowauser.engineering.uiowa.edu/~amalek/papers/DAC-14229-2000.pdf · Geometry and Differential Topology (Spivak 1976, Guillemin and Pollack 1974,

8 Copyright ©2000 by ASME

Ganter, M A, Storti, D W, and Ensz, M T, 1993, “OnAlgebraic Methods for Implicit Swept Solids with FiniteExtent” ASME DE Vol. 65(2) pp. 389-396.

Guillemin, V. and Pollack, A., 1974, Differential Topology,Prentice-Hall.

Hu, Z J and Ling, Z K, 1994, “Generating Swept Volumes withInstantaneous Screw Axes” Proceedings of the 1994ASME Design Technical Conference, Part 1, Minneapolis,MN (1994), DE Vol 70(1) pp.7-14.

Hu, Z J, and Ling, Z K, 1996, Swept volumes generated by thenatural quadric surfaces. Computers and Graphics, Vol.20, No. 2, pp. 263-274.

Ilies, H.T. and Shapiro, V., 1999, “The Dual of Sweep”,Computer Aided Design Vol. 31, pp.185-201.

Jerard, R B and Drysdale, R L, 1988, “Geometric Simulationof Numerical Control Machinery” ASME ComputersEngineer Vol 2 pp129-136.

Joy, KI and Duchaineau, MA 1999 "Boundary Determinationfor Trivariate Solids", Proceedings of the 1999 PacificGraphics Confernece, Seoul, Korea, October 5-7, 1999.

Juttler, B and Wagner, M.G., 1996, “Computer aided designwith spatial rational B-spline motions,” Journal ofMechanical Design, 118, pp.193-201.

Juttler, B and Wagner, M.G., 1999, “Rational motion-basedsurface generation,” Compt Aided Design, 31, 203-213.

Kieffer, J and Litvin, F L, 1991, “Swept Volume Determinationand Interference Detection for Moving 3-D Solids” ASME,Journal of Mechanical Design Vol 113 (1990) pp456-463.

Klok, F, 1986, “Two Moving Coordinate Frames for SweepingAlong a 3D Trajectory” Computer-Aided GeometricDesign, Vol. 3, pp. 217-229

Leu, M C, Park, S H, and Wang, K K, 1986, “GeometricRepresentation of Translational Swept Volumes and ItsApplications” ASME Journal of Engineering for Industry,Vol 108 (1986) pp. 113-119.

Liang, X; Xiao, T; Han, X; Ruan, JX, 1997, SimulationSoftware GNCV of NC Verification, Author Affiliation:ICIPS Proceedings of the 1997 IEEE InternationalConference on Intelligent Processing Systems, Part 2 Oct28-31, v 2, Beijing, China pp. 1852-1856.

Liu, Ch.; Esterling, D.M.; Fontdecaba, J.; Mosel, E, 1996,“Dimensional verification of NC machining profiles usingextended quadtrees”, Comp Aided Des 28(11), 845-852

Lu, Y.C., 1976, Singularity Theory and an Introduction toCatastrophe Theory, Springer-Verlag.

Madrigal, C and Joy, KI 1999 "Generating the Envelope of aSwept Trivariate Solid," Proceedings of the IASTEDInternational Conference on Computer Graphics andImaging, Palm Springs, California, October 25-27, 1999.

Martin, R R and Stephenson, P C, 1990, “Sweeping of three-dimensional Objects” Comp Aided Des 22(4), 223-234.

Menon, J.P.; Voelcker, H.B. 1992, “Toward a comprehensiveformulation of NC verification as a mathematical and

computational problem”, Proc 1992 Winter AnnualMeeting of ASME, 59, Anaheim, CA, pp. 147-164

Parida, L and Mudur, S P, 1994, “Computational Methods forEvaluating Swept Object Boundaries” Visual ComputerVol 10(5) (1994) pp. 266-276.

Sambandan, K and Wang, K K, 1989, “Five-axis SweptVolumes for Graphic NC Simulation and Verification”ASME DE 19(1) pp. 143-150.

Schroeder, W J, Lorensen, W E, and Linthicum, S, 1994,“Implicit Modeling of Swept Surfaces and Volumes” Proc.IEEE Visualiz Conf, Los Alamitos, CA, pp. 40-45.

Spivak, M. 1968, Calculus on Manifolds,Benjamin/Cummeings.

Voelker, H B and Hunt, W A, 1985, “The Role of SolidModeling in Machining Process Modeling and NCVerification” SAE Tech. Paper #810195.

Wang, W P and Wang, K K, 1986, “Geometric Modeling forSwept Volume of Moving Solids” IEEE ComputerGraphics and Applications, Vol. 6(12), pp. 8-17.

Weld, J D and Leu, M C, 1991, “Geometric Representation ofSwept Volumes With Application to Polyhedral Objects”Int Journal of Robotics Research Vol9(5) pp. 105-117.

Whitney, H., 1965, “Tangents to an Analytic Variety,” Ann. ofMath., Vol. 81, pp. 496-540.