dynamic nurbs swung surfaces for ph ysics-basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 dynamic...

27

Upload: others

Post on 16-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

1

Dynamic NURBS Swung Surfaces for Physics-Based

Shape Design

Hong Qin and Demetri Terzopoulos1

Department of Computer Science, University of Toronto,

10 King's College Road, Toronto, Ontario, M5S 1A4

Published in Computer-Aided Design, 27(2):111{127, 1995.

Abstract

We develop a dynamic, free-form surface model which is useful for representing a broad class of objectswith symmetries and topological variability. The new model is based upon swung NURBS surfaces, andit inherits their desirable cross-sectional design properties. It melds these geometric features with thedemonstrated conveniences of surface design within a physics-based framework. We demonstrate severalapplications of dynamic NURBS swung surfaces, including interactive sculpting through the impositionof forces and the adjustment of physical parameters such as mass, damping, and elasticity. Additionalapplications include surface design with geometric and physical constraints, by rounding solids, andthrough the �tting of unstructured data. We derive the equations of motion for the dynamic NURBSswung surface model using Lagrangian mechanics of an elastic surface and the �nite element method.We also show that these surfaces are a special case of D-NURBS surfaces, a recently proposed physics-based generalization of standard geometric NURBS. Our free-form, rational model not only provides asystematic and uni�ed approach for a variety of CAGD problems such as constraint-based optimization,variational design, automatic weight selection, shape approximation, etc., but it also supports interactivesculpting using physics-based manipulation tools.

Keywords: CAGD, NURBS, NURBS Swinging, Deformable Models, Dynamics, Constraints, FiniteElements, Solid Rounding, Surface Blending, Scattered Data Fitting, Interactive Sculpting.

1Fellow, Canadian Institute for Advanced ResearchE-mail addresses: [email protected]; [email protected]

Page 2: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 2

XY

Z

X

YZ

(a) (b)

Figure 1: Construction of a cubical NURBS swung surface. (a) NURBS pro�le curve on x-z plane, NURBStrajectory curve on x-y plane. (b) Cube surface wireframe.

1 Introduction

Among the surface representation schemes in CAGD, non-uniform rational B-splines (NURBS) have be-come an industry standard [1]. One of their most signi�cant advantages is that they are a uni�ed rep-resentation of both complex free-form shapes and standard analytic shapes [1, 2, 3]. NURBS objects aredesigned by adjusting control points and weights that are associated with NURBS surface patches.

Many objects of interest, especially manufactured objects, exhibit symmetries. Often it is convenientto model symmetric objects through cross-sectional design by specifying pro�le curves [4]. Woodward[5] introduced the swinging operator by extending the spherical cross-product with a scaling factor, andapplied it to generate surfaces with B-spline pro�le curves (see also [6]). Piegl [1] carried the swinging ideaover to NURBS curves. He proposed NURBS swung surfaces, a special type of NURBS surfaces formedby swinging one planar NURBS pro�le curve along a second NURBS trajectory curve. The two generatorcurves may be smooth, or they may have discontinuities. For example, Fig. 1 illustrates the design of acubical NURBS swung surface from two NURBS pro�le curves.

The NURBS swung surface retains a considerable breadth of geometric coverage. It can representcommon geometric primitives such as spheres, tori, cubes, quadrics, surfaces of revolution, etc. Fig. 4illustrates four NURBS swung surfaces with distinct topological structures. The NURBS swung surface ise�cient compared to a general NURBS surface, inasmuch as it can represent a broad class of shapes withessentially as few degrees of freedom as it takes to specify the two generator curves. Several geometricshape design systems, including the recent one in [7], include some form of swinging (or sweeping) amongtheir repertoire of techniques.

In this paper, we develop a physics-based generalization of the geometric NURBS swung surface. Werefer to our new models as dynamic NURBS swung surfaces.

1.1 Motivation

Although planar curve design is much easier than general surface design, in many real-world circumstancesit is hard to achieve satisfactory results quickly. Normally the designer obtains (quasi-global) control over

Page 3: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 3

the free-form NURBS swung surface by adjusting the control points and weights of the two NURBS curves.Although there are a variety of algorithms and interaction devices, this indirect design process, which ischaracteristic of geometric design with NURBS and other free-form surface representations in general, canbe clumsy and time consuming. Moreover, relevant design requirements are usually shape oriented andnot control point and weight oriented. Because of the geometric \redundancy" of NURBS 1, traditionalgeometric shape re�nement remains ad hoc and ambiguous. In particular, making meaningful use of weightsis one of the most important areas of current NURBS research. Furthermore, typical design requirementsmay be posed in both quantitative and qualitative terms. It can be very frustrating with indirect designto, for example, shape a \fair" surface that approximates unstructured 3D data. Unstructured shapeconstraints are especially problematic for cross-sectional design.

Physics-based modeling techniques provide a means of overcoming these di�culties. It is possibleto construct free-form surfaces with natural dynamic behavior governed by physical laws [8, 9, 10]. Ter-zopoulos and Fleischer [11] demonstrated simple interactive sculpting using viscoelastic and plastic models.Celniker and Gossard [12] developed an interesting prototype system for interactive free-form design basedon this idea and the �nite-element optimization of energy functionals. Bloor and Wilson [13] used similarenergies optimized through numerical methods and they employed B-splines for this purpose. Subsequently,Welch and Witkin [14] extended the approach to trimmed hierarchical B-splines. Thingvold and Cohen [15]proposed a hybrid deformable B-spline whose control points are mass points connected by elastic springsand hinges. Moreton and Sequin [16] interpolated a minimum energy curve network with quintic Bezierpatches by minimizing the variation of curvature. Halstead et al. [17] implemented smooth interpolationwith Catmull-Clark surfaces using a thin-plate energy functional [18].

The dynamic NURBS swung surfaces proposed in the present paper were inspired by D-NURBS, ourphysics-based generalization of standard geometric NURBS [19]. Like D-NURBS, dynamic NURBS swungsurfaces have continuous mass and damping distributions, as well as a deformation energy. With properchoice of physical parameters, they behave like physical surfaces. This allows a designer to interactivelysculpt and directly manipulate shapes in a natural and predictable way using a variety of force-based tools.The surfaces in Fig. 4 were interactively sculpted in this fashion from the prototype shapes indicated inthe caption. An important advantage of a dynamic model built upon the standard NURBS geometricfoundation is that shape design may proceed interactively or automatically at the physical level, whileexisting geometric toolkits are concurrently applicable at the geometric level.

In the physics-based approach, functional design requirements can be readily implemented as surfacedeformation (fairness) energies and as geometric constraints on the surface. As a dynamic surface reachesequilibrium, it acts as a nonlinear shape optimizer since it minimizes its energy subject to the imposedconstraints. However, shape design is generally a time-varying process|a designer is often interestednot only in the �nal equilibrium shape but also in the intermediate shape variation due to parameterchanges. Time is fundamental to the physics-based formulation. Physics-based models are governed bydynamic di�erential equations which, when integrated numerically through time, can continuously evolvecontrol points and weights in response to applied forces to produce physically meaningful and intuitivelypredictable shape variation. A key advantage of our physics-based framework is that it permits appropriateweight values to be determined automatically in accordance with various physical parameters and geometricrequirements.

We use Lagrangian mechanics to formulate the equations of motion of dynamic NURBS swung sur-faces, and �nite element analysis to reduce these equations to e�cient algorithms that can be simulatednumerically using standard techniques. One of the challenges in this e�ort is coping with the nonlineardynamic formulation stemming from the underlying swung NURBS geometry. The NURBS swung surfaceis inherently nonlinear with respect to its degrees of freedom, even if both NURBS generator curves arereduced to simple B-splines by �xing their weights to unity. As a consequence of the nonlinearity, the

1A particular shape can often be represented nonuniquely using NURBS, with di�erent values of knots, control points, andweights.

Page 4: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 4

mass, damping, and sti�ness matrices in the dynamic formulation must be recomputed at each simulationtime step.

1.2 Overview

Section 2 de�nes kinematic versions of the basic NURBS curve generators in the swung surface and givesthe kinematic equations. In Section 3, we formulate the dynamic NURBS swung surface and derive theirequations of motion. We discuss the numerical simulation of these equations in Section 4. Section 5discusses the use of forces and constraints for physics-based design. Section 6 presents applications ofdynamic NURBS swung surfaces to interactive sculpting, scattered data �tting, and rounding/blendingand discusses the results. In Section 7 we show that dynamic NURBS swung surfaces are a special caseof D-NURBS surfaces [19] that have been subjected to a dimensionality-reducing nonlinear constraint.Section 8 concludes the paper.

2 Kinematic NURBS Curve

A kinematic NURBS curve extends the geometric NURBS de�nition by explicitly incorporating time. Thekinematic curve is a function of both the parametric variable u and time t:

c(u; t) =

Pni=0 pi(t)wi(t)Bi;k(u)Pn

i=0 wi(t)Bi;k(u): (1)

where the Bi;k(u) are the usual recursively de�ned piecewise rational basis functions [20, 21], pi(t) are then + 1 control points, and wi(t) are associated non-negative weights. Assuming basis functions of degreek � 1, the curve has n + k + 1 knots ti in non-decreasing sequence: t0 � t1 � : : : � tn+k . In manyapplications, the end knots are repeated with multiplicity k in order to interpolate the initial and �nalcontrol points p0 and pn.

To simplify notation, we de�ne the vector of generalized coordinates pi(t) and weights wi(t) as

p(t) =hp>0 w0 � � � p>n wn

i>;

where > denotes transposition. We then express the curve (1) as c(u;p) in order to emphasize its depen-dence on p whose components are functions of time.

The velocity of the kinematic spline is

_c(u;p) = J _p; (2)

where the overstruck dot denotes a time derivative and J(u;p) is the Jacobian matrix. Because c is a3-component vector-valued function and p is an 4(n + 1) dimensional vector, J is a 3� 4(n+ 1) matrix,which is expressed as

J =

2664 � � �

2664

@cx@pi;x

0 0

0 @cy@pi;y

0

0 0 @cz@pi;z

3775 @c

@wi� � �

3775 (3)

where@cx@pi;x

=@cy@pi;y

=@cz@pi;z

=wiBi;kPnj=0 wjBj;k

;

@c

@wi

=

Pnj=0(pi � pj)wjBi;kBj;k

(Pn

j=0 wjBj;k)2:

The subscript x, y, and z denote the component of a 3-vector. Furthermore, we can express the curve as

Page 5: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 5

the product of the Jacobian matrix and the generalized coordinate vector:

c(u;p) = Jp: (4)

The proof of (4) can be found in [19].

3 Dynamic NURBS Swung Surface

In this section, we formulate the underlying geometry of the dynamic swung surfaces and derive theJacobian and basis function matrices that lead to succinct expressions analogous to (2) and (4) for thevelocity and position functions of the surface, respectively. This allows us to derive equations of motionfor the dynamic swung surface including mass, damping, and deformation energy distributions.

Geometrically, a dynamic swung surface is generated from two planar kinematic NURBS pro�le curvesthrough the swinging operation [1] (Fig 1). Let the two generator curves c1(u; a) and c2(v;b) be of theform (1). The swung surface is then de�ned as

s(u; v; t) =h�(t)c1;xc2;x �(t)c1;xc2;y c1;z

i>

(5)

where � is an arbitrary scalar. The second subscript denotes the component of a 3-vector.Assume that c1 has basis functions of degree k � 1 and that it has m + 1 control points ai(t) and

weights wai (t). Similarly, c2 has basis functions of degree l � 1 and that it has n + 1 control points bj(t)

and weights wbj(t). Therefore,

a(t) = [a>0 ; wa0; : : : ; a

>

m; wam]

>

andb(t) = [b>0 ; w

b0; : : : ;b

>

n ; wbn]>

are the generalized coordinate vectors of the pro�le curves. We collect these into the generalized coordinatevector

p =h� a> b>

i>:

This vector has dimensionality M = 1 + 4(m + 1) + 4(n + 1). Thus the model has O(n +m) degrees offreedom, compared to O(nm) for general NURBS surfaces.

3.1 Jacobian Matrix

Denoting the Jacobian matrices of the two pro�le curves as J1(u; a) and J2(v;b), the curve position andvelocity functions take the form of (2) and (4):

c1(u; a) = J1a; _c1(u; a) = J1 _a;

c2(v;b) = J2b; _c2(v;b) = J2 _b;

where J1 is a 3� 4(m+ 1) matrix, and J2 is a 3� 4(n+ 1) matrix. Both are of the form (3).If we express each row vector of the Jacobian matrices explicitly as Xi, Yi and Zi, we can write the

block forms:

J1 =hX>

1 Y>

1 Z>1

i>and

J2 =hX>

2 Y>

2 Z>2

i>:

Page 6: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 6

The swung surface is therefore written as

s(u; v;p) =

264 �(t)(X1a)(X2b)�(t)(X1a)(Y2b)

Z1a

375 : (6)

The velocity of the swung surface is_s(u; v;p) = L _p (7)

where L(u; v;p) is the Jacobian matrix with respect to the generalized coordinate vector p. Hence, Lcomprises the vectors @s=@�, @s=@a, and @s=@b, which are given as follows:

@s

@�=

264 (X1a)(X2b)(X1a)(Y2b)

0

375 = Ac2 = (B�C)c1

where

A(u; a) =

264 X1a 0 0

0 X1a 00 0 0

375 ; B(v;b) =

264 X2b 0 0Y2b 0 00 0 1

375 ; C =

264 0 0 00 0 00 0 1

375 ;

@s

@a=

264 �(X2b)X1

�(Y2b)X1

Z1

375 = B�J1;

where B�(�; v;b) = �B+ (1� �)C; and

@s

@b=

264 �(X1a)X2

�(X1a)Y2

0

375 = A�J2;

where A�(�; u; a) = �A. Hence, we express the Jacobian matrix as

L =hAc2 B�J1 A�J2

i(8)

Note that A, A�, B, B�, and C are 3� 3 matrices. Therefore, Ac2 is a 3 vector, B�J1 is a 3� 4(m+ 1)matrix, and A�J2 is a 3� 4(n+ 1) matrix. Thus, L is a 3�M matrix.

3.2 Basis Function Matrix

Unlike J in (4), L cannot also serve as the basis function matrix of the swung surface. Let

H1 =h0 B�J1 0

i; H2 =

h0 CJ1 A�J2

i;

H3 =hAc2 CJ1 0

i; H4 =

h0 CJ1 0

i:

It is straightforward to verify that

3s(u; v;p) = H1p+H2p+H3p = Lp + 2H4p:

Thus we haves(u; v;p) = Hp; (9)

Page 7: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 7

whereH = (L+ 2H4)=3 (10)

is the 3�M basis function matrix.

3.3 Equations of Motion

The equations of motion of our dynamic NURBS swung surface are derived from the work-energy version ofLagrangian dynamics [22]. To proceed with the Lagrangian formulation, we express the kinetic energy dueto a prescribed mass distribution function �(u; v) over the parametric domain of the surface and a Raleighdissipation energy due to a damping density function (u; v). To de�ne an elastic potential energy, weadopt the thin-plate under tension energy model which was proposed in [18] and also used in [12, 14, 17, 19]

U =1

2

Z Z �1;1

@s>

@u

@s

@u+ �2;2

@s>

@v

@s

@v+ �1;1

@2s>

@u2@2s

@u2

+�1;2@2s>

@u@v

@2s

@u@v+ �2;2

@2s>

@v2@2s

@v2

!du dv: (11)

The �i;j(u; v) and �i;j(u; v) are elasticity functions which control tension and rigidity, respectively, in thetwo parametric coordinate directions. Other energies are applicable, including the nonquadratic, curvature-based energies in [8, 16]).

Applying the Lagrangian formulation, we obtain the second-order nonlinear equations of motion

M�p+D _p+Kp = fp + gp; (12)

where the mass matrix is

M(p) =

Z Z�L>L du dv;

the damping matrix is

D(p) =

Z Z L>L du dv;

and the sti�ness matrix is

K(p) =Z Z

(�1;1L>

uHu + �2;2L>

v Hv + �1;1L>

uuHuu + �1;2L>

uvHuv + �2;2L>

vvHvv) du dv

(the subscripts on L and H denote parametric partial derivatives). M,D and K areM�M matrices. Thegeneralized force, obtained through the principle of virtual work [22] done by the applied force distributionf(u; v; t) is

fp(p) =

Z ZL>f(u; v; t) dudv:

Because of the geometric nonlinearity, generalized inertial forces

gp(p) = �Z Z

�L> _L _pdu dv

are also associated with the models. The derivation of the equations of motion (12) proceeds in the samemanner as for D-NURBS (see [19] for the details).

4 Numerical Simulation

The evolution of p, determined by (12) with time-varying matrices, cannot be solved analytically in general.Instead, we pursue an e�cient numerical implementation using �nite-element techniques [23].

Page 8: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 8

Standard �nite element codes explicitly assemble the global matrices that appear in the discrete equa-tions of motion [23]. We use an iterative matrix solver to avoid the cost of assembling the globalM,D, andK. In this way, we work with the individual element matrices and construct �nite element data structuresthat permit the parallel computation of element matrices.

4.1 Matrix Structure and Computation

We examine the mass and damping matrices. Both matrices involve the integration of L>L in the para-metric domain where L is given in (8). Based on (8), L>L is decomposed into the following block matrices:

L>L =

264 F1;1 F1;2 F1;3

F2;2 F2;3

symmetric F3;3

375 (13)

whereF1;1 = c>2A

>Ac2 = (X1a)2 kc2k2,

F1;2 = c>2A>B�J1 = � kc2k

2 (X1a)X1,F1;3 = c>2A

>A�J2 = �(X1a)2c>2 J2,

F2;2 = J>1B>

�B�J1 = �2 kc2k2X>

1X1 + Z>

1 Z1,F2;3 = J>1B

>

�A�J2 = �2X>

1 (X1a)c>2 J2, andF3;3 = J>2A

>

�A�J2 = �2(X1a)2J>2 J2.

See Appendix A for the details about the sti�ness matrix.

4.2 Element Data Structures

We de�ne an element data structure which contains the geometric speci�cation of the surface patch el-ement along with its physical properties. A complete dynamic swung surface is then implemented as adata structure which consists of an ordered array of elements with additional information. The elementstructure includes pointers to appropriate components of the global vector p (control points and weights).Neighboring elements will share some generalized coordinates. The shared variables will have multiplepointers impinging on them. We also allocate in each element an elemental mass, damping, and sti�nessmatrix, and include in the element data structure the quantities needed to compute these matrices. Thesequantities include the mass �(u; v), damping (u; v), and elasticity �i;j(u; v), �i;j(u; v) density functions,which may be represented as analytic functions or as parametric arrays of sample values.

4.3 Calculation of Element Matrices

The integral expressions for the mass, damping, and sti�ness matrices associated with each element areevaluated numerically using Gaussian quadrature [24]. We shall explain the computation of the elementmass matrix; the computation of the damping and sti�ness matrices follow suit. Assuming the parametricdomain of the element is [u0; u1]� [v0; v1], the expression for entry mij of the mass matrix takes the integralform

mij =

Z u1

u0

Z v1

v0

�(u; v)fij(u; v) du dv;

where fij are entries of the matrix in (13). Given integers Ng and Nh, we can �nd Gauss weights ag, bhand abscissas ug, vh in the two parametric directions such that mij can be approximated by [24]

mij �

NgXg=1

NhXh=1

agbh�(ug; vh)fij(ug; vh):

Page 9: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 9

We apply the de Boor algorithm [25] to evaluate fij(ug; vh). In general, Gaussian quadrature evaluates theintegral exactly with N weights and abscissas for polynomials of degree 2N � 1 or less. In our system wechoose Ng and Nh to be integers between 4 and 7. Our experiments indicate that matrices computed inthis way lead to stable, convergent solutions.

Note that in the case where the mass, damping, and sti�ness properties are uniform over the surfaceand, therefore, reduce to scalar quantities, the double sum in the Gaussian integration formula decomposesinto the product of two independent sums over each of the univariate domains of the generator curves andit becomes much more e�cient.

4.4 Discrete Dynamics Equations

To integrate (12) in an interactive modeling environment, it is important to provide the modeler withvisual feedback about the evolving state of the dynamic model. Rather than using costly time integrationmethods that take the largest possible time steps, it is more crucial to provide a smooth animation bymaintaining the continuity of the dynamics from one step to the next. Hence, less costly yet stable timeintegration methods that take modest time steps are desirable.

The state of the dynamic NURBS swung surface at time t+�t is integrated using prior states at timet and t � �t. To maintain the stability of the integration scheme, we use an implicit time integrationmethod, which employs discrete derivatives of p using backward di�erences

�p(t+�t) = (p(t+�t) � 2p(t) + p(t��t))=�t2;

and_p(t+�t) = (p(t+�t) � p(t��t))=2�t:

We obtain the time integration formula�2M+�tD + 2�t2K

�p(t+�t) = 2�t2(fp + gp) + 4Mp(t) � (2M��tD)p(t��t) (14)

where the superscripts denote evaluation of the quantities at the indicated times. The matrices and forcesare evaluated at time t.

We employ the conjugate gradient method to obtain an iterative solution [24]. To achieve interactivesimulation rates, we limit the number of conjugate gradient iterations per time step to 10. We have observedthat 2 iterations typically su�ce to converge to a residual of less than 10�3. More than 2 iterations tend tobe necessary when the physical parameters (mass, damping, tension, sti�ness, applied forces) are changedsigni�cantly during dynamic simulation. Hence, our implementation permits the real-time simulation ofdynamic swung surfaces on common graphics workstations. Quadratic and cubic surfaces with more than200 constrained control points can be simulated at interactive rates.

The equations of motion allow realistic dynamics such as would be desirable for physics-based computergraphics animation. It is possible, however, to make simpli�cations that further reduce the computationalcost of (14) to interactively sculpt larger surfaces. For example, in CAGD applications such as data �ttingwhere the modeler is interested only in the �nal equilibrium con�guration of the model, it makes sense tosimplify (12) by setting the mass density function �(u; v) to zero, so that the inertial terms vanish. Thiseconomizes on storage and makes the algorithm more e�cient. With zero mass density, (12) reduces tothe �rst-order system

D _p+Kp = fp: (15)

Discretizing the derivatives of p in (15) with backward di�erences, we obtain the integration formula

(D+ �tK)p(t+�t) = �tfp +Dp(t) (16)

Page 10: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 10

5 Physics-Based Shape Design

In the physics-based shape design approach, design requirements may be satis�ed through the use ofenergies, forces, and constraints. The designer may apply time-varying forces to sculpt shapes interactivelyor to optimally approximate data. Certain aesthetic constraints such as \fairness" are expressible in termsof elastic energies that give rise to speci�c sti�ness matrices K. Other constraints include position ornormal speci�cation at surface points, and continuity requirements between adjacent surface patches. Bybuilding the dynamic swung surface upon the standard geometry of the NURBS swung surface, we allowthe modeler to continue to use the whole spectrum of advanced geometric design tools that have becomeprevalent, among them, the imposition of geometric constraints that the �nal shape must satisfy.

5.1 Applied Forces

Sculpting tools may be implemented as applied forces. The force f(u; v; t) represents the net e�ect of allapplied forces. Typical force functions are spring forces, repulsion forces, gravitational forces, in ationforces, etc. [8].

For example, consider connecting a material point (u0; v0) of a dynamic swung surface to a point d0 inspace with an ideal Hookean spring of sti�ness k. The net applied spring force is

f(u; v; t) =

Z Zk(d0 � s(u; v; t))�(u� u0; v � v0) du dv; (17)

where the � is the unit delta function. Equation (17) implies that f(u0; v0; t) = k(d0 � s(u0; v0; t)) andvanishes elsewhere on the surface, but we can generalize it by replacing the � function with a smooth kernel(e.g., a unit Gaussian) to spread the applied force over a greater portion of the surface. Furthermore, thepoints (u0; v0) and d0 need not be constant, in general. We can control either or both using a mouse toobtain an interactive spring force.

5.2 Constraints

In practical applications, design requirements may be posed as a set of physical parameters or as geometricconstraints. Nonlinear constraints can be enforced through Lagrange multiplier techniques [26, 27, 28]. Thisapproach increases the number of degrees of freedom, hence the computational cost, by adding unknowns �i,known as Lagrange multipliers, which determine the magnitudes of the constraint forces. The augmentedLagrangian method [26] combines the Lagrange multipliers with the simpler penalty method [9]. TheBaumgarte stabilization method [29] solves constrained equations of motion through linear feedback control(see also [10, 19]). These techniques are appropriate for the dynamic swung surfaces with constraints.

Linear geometric constraints such as point, curve, and surface normal constraints can be easily incorpo-rated into dynamic swung surface by reducing the matrices and vectors in (12) to a minimal unconstrainedset of generalized coordinates. For example, the two generator curves must be embedded in x�z and x�yplanes, respectively. If the model is con�ned as a surface of revolution, the degrees of freedom associatedwith the second pro�les must be constrained geometrically to admit a circle. Linear constraints can beimplemented by applying the same numerical solver on an unconstrained subset of p. See [19] for a detaileddiscussion on constraints in the context of D-NURBS.

Dynamic surfaces constructed from NURBS geometry have an interesting idiosyncrasy due to theweights. While the control point components of p may take arbitrary �nite values in <, negative weightsmay cause the denominator to vanish at some evaluation points, causing the matrices to diverge. Althoughnot forbidden, negative weights are not useful. We enforce positivity of weights at each simulation timestep by simply projecting any weight value that has drifted below a small positive threshold back to thislower bound (nominally 0.1). Another potential di�culty is that lower weight values tend to atten thesurface in the vicinity of the control points, lowering the deformation energy; thus the weights may tendto decrease. One solution is to use a more complex deformation energy that does not favor at surfaces as

Page 11: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 11

in [16]. Alternatively, we can counteract the tendency and also give the designer the option of constrainingthe weights near certain desired target values w0

i by including in the surface energy the penalty termcP(wi � w0

i ), where c controls the tightness of the constraint.

6 Applications and Results

We have developed a prototype modeling system based on dynamic NURBS swung surfaces. Currently, thesystem implements surfaces with basis functions of order 2, 3, or 4 (i.e., from linear to cubic) and geometricconstraints. The system is written in C and is packaged as an interactive Iris Explorer module on SiliconGraphics workstations. It may be combined with existing Explorer modules for data input and surfacevisualization. Our parallelized iterative numerical algorithm takes advantage of an SGI Iris 4D/380VGXmultiprocessor.

Users can sculpt surface shapes in conventional geometric ways, such as by sketching control polygonsof arbitrary pro�le curves, repositioning control points, and adjusting associated weights, or according tothe physics-based paradigm through the use of forces. They can satisfy design requirements by adjustingthe internal physical parameters such as the mass, damping, and sti�ness densities, along with force gainfactors, interactively through Explorer control panels. The following sections demonstrate applications ofdynamic NURBS swung surfaces to rounding and blending, scattered data �tting, and interactive sculpting.

6.1 Rounding and Blending

The rounding and blending of surfaces is usually attempted geometrically, by enforcing continuity require-ments on the �llet which interpolates between two or more surfaces. By contrast, the dynamic NURBSswung surface can produce a smooth �llet by minimizing its internal deformation energy subject to posi-tion and normal constraints. The dynamic simulation automatically produces the desired �nal shape as itachieves equilibrium.

Fig. 5 demonstrates the rounding of a polyhedral toroid. The pro�le curve on the x-z plane is a quadraticNURBS curve with 17 control points. The trajectory curve on the x-y plane is also a quadratic NURBSwith 17 control points. Note that, the corners of the curves can be represented exactly with multiple controlpoints or approximately by setting a very large weight. If this model were a general NURBS surface, itwould have 289 control points and weights. As a swung surface it has only 34 control points and weightswhich are considered the generalized coordinates of the dynamic model. The wireframe and shaded shapesis shown in Fig. 5(a) and Fig. 5(b). After initiating the physical simulation, the corners and sharp edgesare rounded as the �nal shape equilibrates into the minimal energy state shown in Fig. 5(c-d).

Fig. 6 illustrates the rounding of a cubical solid. The pro�le is a quadratic NURBS with 15 controlpoints, and the trajectory is a linear NURBS with 5 control points. The rounding operation is applied inthe vicinity of the middle edge. In Fig. 6(a-b) shows the wireframe and shaded objects, respectively. Therounded shape is shown in Fig. 6(c-d).

Fig. 7 shows a blending example involving a cylindrical pipe. The circular pro�le is a quadratic curvewith 7 control points. The piecewise linear trajectory has 5 control points. The initial right-angle pipeand the �nal rounded pipe are shown in Fig. 7(a-d).

To demonstrate automatic weight variation in the dynamic model in accordance with physical parame-ters, we have conducted an experiment with the polyhedral toroid shown in Fig. 5(a). We �x all 137 degreesof freedom of the toroid, which occupies the cube �1 � x; y; z;� 1, except for one weight associated withthe control point (1:0; 0:0; 1:0) which is initially set to 50:0 to form the corner. This weight is permittedto vary subject to varying physical parameters and external force (Fig. 2). Initially = 100:0 and theremaining parameters are zero (�t = 0:248). Starting the dynamic simulation, we �rst gradually increase�1;2 from zero to 150:0. As shown in Fig. 2, the value of the free weight decreases quickly towards itslower limit 0:3 in under 100 iterations (dashed plot). This reduces the deformation energy by roundingthe corner. Next, we attach a spring force from the point (1:0; 1:0; 1:0) to the nearest surface point. As

Page 12: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 12

Tension parameter increasing Spring force increasing Rigidity parameter increasing Spring force increasing

|0

|200

|400

|600

|800

|1000

|0.0

|5.0

|10.0

|15.0

|20.0

|25.0

|30.0

|35.0

|40.0

|45.0

|50.0

Iteration No.

Wei

ght

Figure 2: Free weight variation subject to varying physical parameters and external force (see text).

the sti�ness constant of this spring is slowly increased from zero to 1; 000:0, the weight increases (solidplot in Fig. 2) thus recreating a corner. Next, we vary �2;2 from zero to 100:0 (dotted plot in Fig. 2).The increased rigidity of the surface causes the weight to decrease, again rounding the corner. Finally, weincrease the spring sti�ness to 10; 000:0 (stippled plot in Fig. 2), thus counteracting the increased sti�nessand causing the weight to increases to again recreate the corner. This experiment demonstrates that whencontrol points are �xed, a free weight will automatically decrease to decrease the deformation energy by attening the surface locally, unless external forces counteract this tendency. When control points are free,they will also vary as well to produce an analogous physical e�ect.

6.2 Scattered Data Fitting

A useful modeling technique is based on �tting surfaces to unstructured constraints, generally known asscattered data �tting. Interesting situations arise when there are fewer or more data points than thereare degrees of freedom in the model, leading to underconstrained or overconstrained �tting problems. Theinclusion of an elastic energy in our dynamic surfaces makes them applicable to such problems.

The data interpolation problem is amenable to common constraint techniques [26]. Approximationcan be achieved by physically coupling the dynamic NURBS swung surface to the data through Hookeanspring forces (17). We interpret d0 in (17) as the data point (generally in <3) and (u0; v0) as the parametriccoordinates associated with the data point (which may be the nearest material point of the surface). Thespring constant c determines the closeness of �t to the data point. 2

To �nd the closest point on the model for arbitrarily sampled data (x0; y0; z0), we exploit the specialsymmetric structure of NURBS swung surface through the following two-step search scheme. We �rst �nd

2Cross-validation provides a principled approach to choosing the relevant physical parameters|typically the ratio of dataforce spring constants to surface sti�nesses|for given data sets [30]. For the special case of zero-mean Gaussian data errors,optimal approximation in the least squares residual sense results when c is proportional to the inverse variance of data errors.

Page 13: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 13

Weights fixed Weights free (from iteration 131) Weights free (from iteration 0)

|0

|50

|100

|150

|200

|250

|300

|350

|400

|0.060

|0.065

|0.070

|0.075

|0.080

|0.085

|0.090

|0.095

|0.100

|0.105

|0.110

Iteration No.

Fitt

ing

Err

or

Figure 3: Least Squared Fitting Errors For NRCC Pot (see text).

the v0 such that c1(v0) is nearest to (x0; y0). Then we search the isoparametric curve s(u; v0) and �nd theu0 such that s(u0; v0) is the closest to (x0; y0; z0). Experiments show that this approximation approachleads to satisfactory results because the mapping is recomputed at each simulation step. More importantly,we reduce the complexity of optimal matching from O(mn) for a general m by n D-NURBS surface [19] toO(m+ n). For large m and n, the dynamic simulation is speeded up signi�cantly. Other techniques suchas nonlinear optimization are applicable to �nding the closest point.

An important advantage of our models, despite the fact that they are pro�le surfaces, is that they canbe �tted to arbitrarily distributed empirical data that are not aligned along any particular isoparametriccurve pattern. We �rst use a dynamic swung surface generated by two quadratic pro�les with 10 and 7control points to reconstruct a clay pot which has been densely sampled by a cylindrical laser scannerto produce about 1:2� 106 data points. The 7 control points and weights of the cross-section pro�le areconstrained so as to permit only surfaces of circular cross section. We randomly selected only 20 datapoints from which to reconstruct a surface of revolution. Fig. 8 shows the sample points, the cylindricalinitial condition, and the �nal �tted shape rendered with the texture map of the object acquired by thescanner. The elastic energy of the surface allows it to interpolate between data points. The physicalparameters used in this experiment were mass � = 0:0, damping = 60:0, bending sti�ness parameter�1;1 = 14:0 while all the others are zero, data spring constants ci = 900:0. The surface �tting stabilizes ina few seconds with a time step �t = 0:3.

We report two more experiments with the above surface �tting scenario in order to investigate theleast-squares �tting errors under di�erent circumstances. In the �rst experiment, we initially �x all 10weights of the pro�le curve. An optimal �t is achieved after 81 iterations. The decreasing error is plottedby the dashed plot in Fig. 3. Then we free the weights at iteration 131 and the model is able to furtherreduce the �tting error because it now has more degrees of freedom at its disposal. The dotted plot in the�gure indicates the improved �t. In the second experiment, the weights are set free from the start of thedynamic simulation. After 295 iterations, the optimal �tting is recorded by the solid plot in Fig. 3. The

Page 14: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 14

Iteration No. Weights

w0 w1 w2 w3 w4 w5 w6 w7 w8 w9

initial 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000

80 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000

160 1.012 1.011 1.011 1.096 0.884 0.978 0.998 1.019 0.957 1.023

240 1.042 1.030 1.041 1.260 0.513 0.941 1.031 1.029 0.893 1.065

320 1.042 1.030 1.041 1.260 0.513 0.941 1.031 1.029 0.893 1.065

�nal 1.042 1.030 1.041 1.260 0.513 0.941 1.031 1.029 0.893 1.065

Table 1: Variation of weights in experiment 1.

Iteration No. Weights

w0 w1 w2 w3 w4 w5 w6 w7 w8 w9

initial 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000

80 1.004 1.008 1.004 1.060 0.925 0.997 1.001 1.010 0.977 1.008

160 1.056 1.045 1.059 1.350 0.392 0.785 1.066 1.026 0.864 1.087

240 1.072 1.058 1.076 1.377 0.304 0.623 1.126 1.020 0.845 1.106

320 1.094 1.079 1.098 1.357 0.300 0.587 1.144 1.013 0.826 1.130

�nal 1.094 1.079 1.098 1.357 0.300 0.587 1.144 1.013 0.826 1.130

Table 2: Variation of weights in experiment 2.

weight values in the two experiments are given in Table 1 and 2, respectively. The experiments indicatethat, at least in this situation, a slightly better surface �t is obtained when the model is permitted to useall of the available degrees of freedom from the start of the �tting process. Obviously, the �nal surface inthe �rst experiment had attained a local optimum.

Next, we use the same surface model to approximate 10 data points sampled from a vase. The wireframeand textured images of the dynamic swung surface are illustrated in Fig. 9. Fig. 10(a-d) shows the �nalreconstructed shapes from four other �tting experiments using synthetic data to recover another pot, avase, a bottle, and a wine glass. The number of randomly sampled data are 10, 13, 14, and 17, respectively.

6.3 Interactive Sculpting

In the physics-based modeling approach, not only can the designer manipulate the individual degrees offreedom with conventional geometric methods, but he can also move the object or re�ne its shape withinteractive sculpting forces.

The physics-based modeling approach is ideal for interactive sculpting of surfaces. It provides directmanipulation of the dynamic surface to re�ne the shape of the surface through the application of interactivesculpting tools in the form of forces. Fig. 4(a) illustrates the results of four interactive sculpting sessionsusing spring forces. A sphere was generated using two quadratic curves with 4 and 7 control points andwas sculpted into the ovoid shown in Fig. 4(a). A torus whose two pro�le curves are quadratic with 7 and7 control points, respectively, has been deformed into the shape in Fig. 4(b). A hat shape was created fromtwo curves with 9 and 6 control points and was then deformed by spring forces into the shape in Fig 4(d).Finally, we generated a wine glass shape using two curves with 7 and 5 control points and sculpted it intothe more pleasing shape shown in Fig 4(c).

7 Constrained D-NURBS Formulation

It is known that a geometric NURBS swung surface is a NURBS surface [1]. In this section, we show thatdynamic NURBS swung surfaces are, analogously, D-NURBS surfaces [19] that have been subjected to a

Page 15: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 15

dimensionality-reducing nonlinear constraint.

7.1 D-NURBS Surface

A D-NURBS surface generalizes the geometric NURBS surface:

s(u; v; t) =

Pmi=0

Pnj=0 qi;j(t)wi;j(t)Bi;k(u)Bj;l(v)Pm

i=0

Pnj=0 wi;j(t)Bi;k(u)Bj;l(v)

: (18)

The (m + 1)(n + 1) control points qi;j(t) and weights wi;j(t), which are functions of time, comprise theD-NURBS generalized coordinates. We concatenate these N = 4(m+1)(n+1) coordinates into the vector:

q(t) =h� � � q>i;j wi;j � � �

i>

:

Similar to (2) and (4), we have

_s(u; v;q) = J _q; s(u; v;q) = Jq: (19)

where J(u; v;q) is the 3 � N Jacobian matrix of the D-NURBS surface with respect to q. The motionequations of D-NURBS surfaces are

Mq�q+Dq _q+Kqq = fq + gq; (20)

where the mass matrixMq, the damping matrix Dq, and the sti�ness matrixKq are all N�N matrices, fqis the generalized force vector acting on q, and gq is the generalized inertial force. See [19] for the detailsof the D-NURBS formulation.

To reduce the D-NURBS surface to a dynamic swung surface, we apply the nonlinear constraint

qi;j =h�ai;xbj;x �ai;xbj;y ai;z

i>wi;j = wa

iwbj : (21)

where �, ai, wai , bj , and wb

j , for i = 0; : : : ; m and j = 0; : : : ; n, are de�ned as in Section 3. Di�erentiating(21), we obtain

_qi;j =

264 _�ai;xbj;x + � _ai;xbj;x + �ai;x _bj;x

_�ai;xbj;y + � _ai;xbj;y + �ai;x _bj;y_ai;z

375

_wi;j = _waiw

bj + wa

i _wbj (22)

Using the notations in Section 3, we can rewrite (21) and (22) in the matrix form

_q = G _p; q = Bp; (23)

where B and G are N �M matrices with M = (4m+ 4n+ 9).Substituting (23) into (20), we arrive at the equations of motion for the dynamic NURBS swung surface

(12), where the M �M mass, damping, and sti�ness matrices are given by

M = G>MqG; D = G>DqG; K = G>KqB:

The generalized forces with respect to p are

fp = G>fq; gp = G>(gq �Mq_G _p):

Page 16: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 16

The constraint reduces the 4(m+1)(n+1) generalized coordinates of the D-NURBS surface to the 4m+4n+9generalized coordinates of the dynamic NURBS swung surface.

8 Conclusion

We have proposed dynamic NURBS swung surfaces. Like the D-NURBS predecessor [19], the new modelis a physics-based generalization of its geometric counterpart. We derived it systematically through La-grangian mechanics and implemented interactive software using concepts from �nite element analysis anditerative numerical methods. We have shown that the dynamic NURBS swung surface model can be for-mulated in two di�erent ways: (i) constructively from two NURBS pro�le curves and (ii) since swungsurfaces are NURBS surfaces, by applying a nonlinear constraint to a D-NURBS surface. Swung surfaceshave O(m+n) degrees of freedom. In the �rst formulation the surface inherits, by construction, the degreesof freedom of each generator curve (O(m) + O(n)). In the second formulation, the nonlinear constrainteliminates most of the O(mn) degrees of freedom of a general D-NURBS surface to produce the swungform, but the surface can revert to its general form if the constraint is removed.

The physics-based model responds to applied simulated forces with natural and predictable dynamicswith the geometric parameters, including the control points and weights, varying automatically. Designerscan employ force-based \tools" to perform direct manipulation and interactive sculpting. Additional controlover the shape is available through the modi�cation of physical parameters. Elastic energy functionals allowthe qualitative imposition of fairness criteria through quantitative means. Linear or nonlinear constraintsmay be imposed either as hard constraints that must not be violated, or as soft constraints to be satis�edapproximately in the form of simple forces. In particular, dynamic NURBS swung surfaces may be �tto very sparse, unstructured data. Energy-based shape optimization for surface design and fairing is anautomatic consequence of the dynamic model achieving static equilibrium subject to data constraints.

Our prototype interactive modeling system provides a promising approach to advanced surface designproblems such as blending and cross-section design. It demonstrates the exibility of dynamic NURBSswung surfaces in a variety of applications, including constraint-based optimization for surface design andfairing, automatic settings of weights in surface �tting, and interactive sculpting through applied forces.Our results indicate that these non-�xed-topology dynamic surfaces o�er broad geometric coverage duringdesign. Since our models are built on the industry-standard NURBS geometric substrate, designers workingwith them can continue to make use of the existing array of geometric design toolkits.

Page 17: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 17

A Structure of Sti�ness Matrix

Clearly

Lu =hAuc2 B�(J1)u (A�)uJ2

i; Lv =

hA(c2)v (B�)vJ1 A�(J2)v

i:

In addition, since J1 is not a function of v, we have

(H4)u =h0 C(J1)u 0

i; (H4)v = 0:

We decompose K into two matrices. Let

K1 =1

3

Z Z(�1;1L

>

u Lu + �2;2L>

v Lv + �1;1L>

uuLuu +

�1;2L>

uvLuv + �2;2L>

vvLvv) du dv (24)

and

K2 =2

3

Z Z(�1;1L

>

u(H4)u + �2;2L

>

v(H4)v + �1;1L

>

uu(H4)uu +

�1;2L>

uv(H4)uv + �2;2L

>

vv(H4)vv) du dv (25)

So, in view of (10), it is easy to verifyKp = (K1 +K2)p (26)

To examine the structure of K1 and K2, we consider without loss of generality only the second crossderivative term for K1. The entry is the integral of (�1;2=3)L

>

uvLuv where

L>uvLuv =

264 U1;1 U1;2 U1;3

U2;2 U2;3

symmetric U3;3

375 ; (27)

whereU1;1 = (c2)>vA

>uAu(c2)v = (X1a)2u k(c2)vk

2,U1;2 = (c2)

>

vA>

u (B�)v(J1)u = � k(c2)vk2 (X1a)u(X1)u,

U1;3 = (c2)>vA

>u (A�)u(J2)v = �(X1a)

2u(c2)

>v (J2)v,

U2;2 = (J1)>

u (B�)>

v (B�)v(J1)u = �2 k(c2)vk2 (X1)

>

u (X1)u + (Z1)>

u (Z1)u,U2;3 = (J1)

>

u (B�)>

v (A�)u(J2)v = �2(X1)>

u (X1a)u(c2)>

v (J2)v , andU3;3 = (J2)>v (A�)>u (A�)u(J2)v = �2(X1a)2u(J2)

>

v (J2)v .Next, we discuss K2. Because (H4)v = 0, (25) can be simpli�ed as

K2 =2

3

Z Z(�1;1L

>

u (H4)u + �1;1L>

uu(H4)uu) du dv (28)

We consider the �rst derivative entry

L>u (H4)u =

264 0 U0

1;2 0

0 U0

2;2 0

0 U0

3;2 0

375 (29)

Using the foregoing notations, it is easy to verify thatU0

1;2 = c>2A>uC(J1)u = 0,

U0

2;2 = (J1)>

uB>

�C(J1)u = (Z1)>

u (Z1)u, and

U0

3;2 = J>2 (A�)>

uC(J1)u = 0

Thus, K2 is symmetric. Also, K1 is obviously symmetric. Therefore, K is symmetric.

Page 18: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 18

Acknowledgement

We gratefully acknowledge the cooperation of Drs. Marc Rioux, Luc Cournoyer, and Pierre Gariepy of theNational Research Council of Canada who provided the geometry and texture data of the clay pot. Thisresearch was supported by grants from the Natural Sciences and Engineering Research Council of Canadaand the Information Technology Research Center of Ontario.

Page 19: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 19

References

[1] L. Piegl. On NURBS: A survey. IEEE Computer Graphics and Applications, 11(1):55{71, Jan. 1991.

[2] L. Piegl and W. Tiller. Curve and surface constructions using rational B-splines. Computer-Aided

Design, 19(9):485{498, 1987.

[3] W. Tiller. Rational B-splines for curve and surface representation. IEEE Computer Graphics and

Applications, 3(6):61{69, Sept. 1983.

[4] I.D. Faux and M.J. Pratt. Computational Geometry for Design and Manufacture. Ellis Horwood,Chichester,UK, 1979.

[5] C. Woodward. Cross-sectional design of B-spline surfaces. Computers and Graphics, 11(2):193{201,1987.

[6] E. Cobb. Design of Sculptured Surfaces Using the B-spline Representation. PhD thesis, University ofUtah, 1984.

[7] J. Snyder and J. Kajiya. Generative modeling: A symbolic system for geometric modeling. ComputerGraphics, 26(2):369{378, 1992.

[8] D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer. Elastically deformable models. Computer Graphics,21(4):205{214, 1987.

[9] J. Platt and A. Barr. Constraints methods for exible models. Computer Graphics, 22(4):279{288,1988.

[10] D. Metaxas and D. Terzopoulos. Dynamic deformation of solid primitives with constraints. ComputerGraphics, 26(2):309{312, 1992.

[11] D. Terzopoulos and K. Fleischer. Deformable models. The Visual Computer, 4(6):306{331, 1988.

[12] G. Celniker and D. Gossard. Deformable curve and surface �nite-element for free-form shape design.Computer Graphics, 25(4):257{266, 1991.

[13] M.I.G. Bloor and M.J. Wilson. Representing PDE surfaces in terms of B-splines. Computer-Aided

Design, 22(6):324{331, 1990.

[14] W. Welch and A. Witkin. Variational surface modeling. Computer Graphics, 26(2):157{166, 1992.

[15] J.A. Thingvold and E. Cohen. Physical modeling with B-spline surfaces for interactive design andanimation. Computer Graphics, 24(2):129{137, 1990. Proceedings, 1990 Symposium on Interactive3D Graphics.

[16] H.P. Moreton and C.H. Sequin. Functional optimization for fair surface design. Computer Graphics,26(2):167{176, 1992.

[17] M. Halstead, M. Kass, and T. DeRose. E�cient, fair interpolation using Catmull-Clark surfaces. InComputer Graphics Proceedings, Annual Conference Series, Proc. ACM Siggraph'93 (Anaheim, CA,Aug., 1993), pages 35{44, 1993.

[18] D. Terzopoulos. Regularization of inverse visual problems involving discontinuities. IEEE Transactions

on Pattern Analysis and Machine Intelligence, 8(4):413{424, 1986.

[19] D. Terzopoulos and H. Qin. Dynamic NURBS with geometric constraints for interactive sculpting.ACM Transactions on Graphics, 13(2):103{136, 1994.

Page 20: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 20

[20] G. Farin. Curves and Surfaces for Computer aided Geometric Design: A Practical Guide. AcademicPress, second edition, 1990.

[21] M.E. Mortenson. Geometric Modeling. John Wiley and Sons, 1985.

[22] B.R. Gossick. Hamilton's Principle and Physical Systems. Academic Press, New York and London,1967.

[23] H. Kardestuncer. Finite Element Handbook. McGraw{Hill, New York, 1987.

[24] W. Press, B. Flanney, S. Teukolsky, and W. Verttering. Numerical Recipes: The Art of Scienti�c

Computing. Cambridge University Press, Cambridge, 1986.

[25] C. de Boor. On calculating with B-Splines. Journal of Approximation Theory, 6(1):50{62, 1972.

[26] M. Minoux. Mathematical Programming. Wiley, New York, 1986.

[27] G. Strang. Introduction to Applied Mathematics. Wellesley-Cambridge Press, MA, 1986.

[28] J. Platt. A generalization of dynamic constraints. CVGIP: Graphical Models and Image Processing,54(6):516{525, 1992.

[29] J. Baumgarte. Stabilization of constraints and integrals of motion in dynamical systems. Comp. Meth.

in Appl. Mech. and Eng., 1:1{16, 1972.

[30] G. Wahba. Spline Models for Observational Data. SIAM, Philadelphia, PA, 1990.

Page 21: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 21

(a) (b)

(c) (d)

Figure 4: Assorted Dynamic NURBS Swung Surfaces. Open and closed surfaces shown were sculptedinteractively from prototype shapes noted in parentheses (a) Egg shape (sphere). (b) Deformed toroid(torus). (c) Hat (open surface). (d) Wine glass (cylinder).

Page 22: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 22

(a) (b)

(c) (d)

Figure 5: Rounding of polyhedral toroid. (a) Wireframe. (b) Shaded object. (c-d) Final rounded shape.

Page 23: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 23

(a) (b)

(c) (d)

Figure 6: Rounding of cubical solid. (a) Wireframe. (b) Shaded object. (c-d) Final rounded shape.

Page 24: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 24

(a) (b)

(c) (d)

Figure 7: Surface blending of pipe. (a) Wireframe. (b) Shaded object. (c-d) Final smooth blend.

Page 25: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 25

(a) (b)

(c) (d)

Figure 8: Fitting of 3D laser scanner data. (a) Original cylinder wireframe. (b) Reconstructed potwireframe. (c-d) Textured pot.

Page 26: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 26

(a) (b)

(c) (d)

Figure 9: Fitting of synthetic data. (a) cylinder wireframe. (b) Reconstructed vase wireframe. (c-d)Textured vase.

Page 27: Dynamic NURBS Swung Surfaces for Ph ysics-Basedweb.cs.ucla.edu/~dt/papers/cad95/cad95.pdf1 Dynamic NURBS Swung Surfaces for Ph ysics-Based Shap e Design Hong Qin and Demetri T erzop

Published in Computer-Aided Design, 27(2):111{127, 1995. 27

(a) (b)

(c) (d)

Figure 10: Four �tted shapes. (a) Pot. (b) Vase. (c) Glass. (d) Bottle.