Dynamic NURBS with geometric constraints for interactive sculpting.
This article develops a dynamic generalization of the nonuniform rational B-spline (NURBS) model. NURBS have become a defacto standard in commercial modeling systems because of their power to represent free-form shapes as well as common analytic shapes. To date, however, they have been viewed as purely geometric primitives that require the user to manually adjust multiple control points and associated weights in order to design shapes. Dynamic NURBS, or D-NURBS, are physics-based models that incorporate mass distributions, internal deformation energies, and other physical quantities into the popular NURBS geometric substrate. Using D-NURBS, a modeler can interactively sculpt curves and surfaces and design complex shapes to required specifications not only in the traditional indirect  fashion, by adjusting control points and weights, but also through direct physical manipulation, by applying simulated forces and local and global shape constraints. D-NURBS move and deform in a physically intuitive manner in response to the user's direct manipulations. Their dynamic behavior results from the numerical integration of a set of nonlinear differential equations that automatically evolve the control points and weights in response to the applied forces and constraints. To derive these equations, we employ Lagrangian mechanics and a finite-element-like discretization. Our approach supports the trimming of D-NURBS surfaces using D-NURBS curves. We demonstrate D-NURBS models and constraints in applications including the rounding of solids, optimal surface fitting to unstructured data, surface design from cross sections, and free-form deformation. We also introduce a new technique for 2D shape metamorphosis using constrained D-NURBS surfaces.
Introduction
In 1975 Versprille [40] proposed the Non-Uniform Rational B-Splines or NURBS. This shape representation
for geometric design generalized Riesenfeld's B-splines. NURBS quickly gained popularity and were incorporated
into several commercial modeling systems [23]. The NURBS representation has several attractive
properties. It offers a unified mathematical formulation for representing not only free-form curves and
surfaces, but also standard analytic shapes such as conics, quadrics, and surfaces of revolution. By adjusting
the positions of control points and manipulating associated weights, one can design a large variety of
shapes using NURBS [10, 12, 24, 21, 22, 23, 39].
Because NURBS are a purely geometric representation, however, their extraordinary flexibility has
some drawbacks:
ffl The designer is faced with the tedium of indirect shape manipulation through a bewildering variety
of geometric parameters; i.e., by repositioning control points, adjusting weights, and modifying knot
vectors. Despite the recent prevalence of sophisticated 3D interaction devices, the indirect geometric
design process remains clumsy and time consuming in general.
ffl Shape design to required specifications by manual adjustment of available geometric degrees of freedom
is often elusive, because relevant design tolerances are typically shape-oriented and not control
point/weight oriented. The geometric "redundancy" of NURBS tends to make geometric shape refinement
ad hoc and ambiguous; for instance, to adjust a shape should the designer move a control
point, or change a weight, or move two control points,.?
ffl Typical design requirements may be stated in both quantitative and qualitative terms, such as "a
fair and pleasing surface which approximates scattered data and interpolates a cross-section curve."
Such requirements impose both local and global constraints on shape. The incremental manipulation
of local shape parameters to satisfy complex local and global shape constraints is at best cumbersome
and often unproductive.
Physics-based modeling provides a means to overcome these drawbacks. Free-form deformable models,
which were introduced to computer graphics in [37] and further developed in [36, 26, 33, 20, 34, 17] are
particularly relevant in the context of modeling with NURBS. Important advantages accrue from the
deformable model approach [36]:
ffl The behavior of the deformable model is governed by physical laws. Through a computational physics
simulation, the model responds dynamically to applied simulated forces in a natural and predictable
way. Shapes can be sculpted interactively using a variety of force-based "tools."
ffl The equilibrium state of the dynamic model is characterized by a minimum of the potential energy of
the model subject to imposed constraints [35]. It is possible to formulate potential energy functionals
that satisfy local and global design criteria, such as curve or surface (piecewise) smoothness, and to
impose geometric constraints relevant to shape design.
ffl The physical model may be built upon a standard geometric foundation, such as free-form parametric
curve and surface representations. This means that while shape design may proceed interactively
or automatically at the physical level, existing geometric toolkits are concurrently applicable at the
geometric level.
In this paper, we propose Dynamic NURBS, or D-NURBS. D-NURBS are physics-based models that incorporate
mass distributions, internal deformation energies, and other physical quantities into the NURBS
geometric substrate. Time is fundamental to the dynamic formulation. The models are governed by dynamic
differential equations which, when integrated numerically through time, continuously evolve the
control points and weights in response to applied forces. The D-NURBS formulation supports interactive
direct manipulation of NURBS curves and surfaces, which results in physically meaningful hence intuitively
predictable motion and shape variation.
Using D-NURBS, a modeler can interactively sculpt complex shapes not merely by kinematic adjustment
of control points and weights, but, dynamically as well-by applying forces. Additional control over
dynamic sculpting stems from the modification of physical parameters such as mass, damping, and elastic
properties. Elastic functionals allow qualitative the imposition of "fairness" criteria through quantitative
means. Linear or nonlinear constraints may be imposed either as hard constraints that must not to be
violated, or as soft constraints to be satisfied approximately. The latter may be interpreted intuitively
as simple forces. Optimal shape design results when D-NURBS are allowed to achieve static equilibrium
subject to shape constraints. All of these capabilities are subsumed under an elegant formulation grounded
in physics.
Section 2 discusses the similarities and distinctive features of D-NURBS relative to prior models. Section
3 briefly reviews NURBS geometry and its properties. In Section 4, we formulate D-NURBS and derive
their equations of motion. Section 5 discusses the application of forces and constraints for physics-based
design. We discuss the numerical simulation of D-NURBS in Section 6. Section 7 describes our prototype
D-NURBS modeling system and presents applications and results. Section 8 concludes the paper.
Background
Dynamic NURBS are motivated by prior research aimed at applying the deformable modeling approach to
shape design. Terzopoulos and Fleischer [36] demonstrated simple interactive sculpting using viscoelastic
and plastic models. Celniker and Gossard [5] developed an interesting prototype system for interactive
free-form design based on the finite-element optimization of energy functionals proposed in [36]. Bloor
and Wilson [3] developed related models using similar energies and numerical optimization, and in [2]
they proposed the use of B-splines for this purpose. Subsequently, Celniker and Welch [6] investigated
deformable B-splines with linear constraints. Welch and Witkin [42] extended the approach to trimmed
hierarchical B-splines (see also [13]). Thingvold and Cohen [38] proposed a deformable B-spline whose
control points are mass points connected by elastic springs and hinges.
In [2, 6, 42] deformable B-spline curves and surfaces are designed by imposing shape criteria via the
minimization of energy functionals subject to hard or soft geometric constraints. These constraints are
imposed through Lagrange multipliers or penalty methods, respectively. The same techniques are applicable
to D-NURBS. Compared to deformable B-splines, however, D-NURBS are capable of representing a wider
variety of free-form shapes, as well as standard analytic shapes. Previous models solve static equilibrium
problems, or in the case of [6] involve simple linear dynamics with diagonal (arbitrarily lumped) mass and
damping matrices (apparently for efficiency).
D-NURBS are a more sophisticated dynamic model. We adopt the approach proposed in [17] for
converting arbitrary geometric models into dynamic models using Lagrangian mechanics and finite element
analysis. Our approach is systematic. We formulate deformable curves and surfaces and reduce them to
algorithms in a principled way, without resorting to any of the ad hoc assumptions of prior schemes
(c.f. [38]). Because our dynamic models allow fully continuous mass and damping distributions, we obtain
banded mass and damping matrices. These are known as consistent matrices in the finite element literature
[43].
The D-NURBS control points and associated weights become generalized coordinates in the Lagrangian
equations of motion. From a physics-based modeling point of view, the existence of weights makes the
NURBS geometry substantially more challenging than B-spline geometry. Since the NURBS rational basis
functions are functionally dependent on the weights, D-NURBS dynamics are generally nonlinear, and the
mass, damping, and stiffness matrices must be recomputed at each simulation time step. 1 Fortunately,
this does not preclude interactive performance on current graphics workstations, at least for the size of
surface models that appear in our demonstrations. We prove several mathematical results that enable us to
Note, however, that for static weights, the matrices become time invariant and the computational cost is reduced
significantly.
simplify the motion equations and apply numerical quadrature to the underlying NURBS basis functions
to compute efficiently the integral expressions for the matrix entries.
3 NURBS Geometry
In this section, we review the formulation of NURBS curves and surfaces. We then describe their analytic
and geometric properties. More detailed material can be found in [4, 24, 21, 22, 23, 39].
3.1 Curves
A NURBS curve generalizes the B-spline. It is the combination of a set of piecewise rational functions
associated weights
where u is the parametric variable and B i;k (u) are B-spline basis functions. Assuming basis functions of
curve has non-decreasing sequence: t 0  t 1  .  t n+k . The
basis functions are defined recursively as
with
The parametric domain is t . In many applications, the end knots are repeated with
multiplicity k in order to interpolate the initial and final control points p 0 and p n .
3.2 Surfaces
A NURBS surface is the generalization of the tensor-product B-spline surface. It is defined over the
parametric variables u and v as
A NURBS surface has (m+ 1)(n points p i;j and weights w i;j . Assuming basis functions along
the two parametric axes of degree respectively, the number of knots is (m+k+1)(n+ l +1).
The non-decreasing knot sequence is t 0  t 1  .  t m+k along the u-axis and s 0  s 1  .  s n+l
along the v-axis. The parametric domain is t . If the end knots have
multiplicity k and l in the u and v axis respectively, the surface patch will interpolate the four corners of
the boundary control points.
3.3 Properties
NURBS generalize the non-rational parametric form. Like non-rational B-splines, the rational basis functions
of NURBS sum to unity, they are infinitely smooth in the interior of a knot span provided the
denominator is not zero, and at a knot they are at least C k\Gamma1\Gammar continuous with knot multiplicity r, which
enables them to satisfy different smoothness requirements. They inherit many of the properties of non-rational
B-splines, such as the strong convex hull property, variation diminishing property, local support,
and invariance under standard geometric transformations (see [11] for more details). Moreover, they have
some additional properties:
ffl NURBS offer a common mathematical framework for implicit and parametric polynomial forms.
In principle, they can represent analytic functions such as conics and quadrics precisely, as well as
shapes.
ffl NURBS include weights as extra degrees of freedom which influence local shape. If a particular
weight is zero, then the corresponding rational basis function is also zero and its control point does
not effect the NURBS shape. The spline is attracted toward a control point more if the corresponding
weight is increased and less if the weight is decreased.
For a more detailed discussion of NURBS properties, see [23, 24, 39, 12, 21, 22].
The most frequently used NURBS design techniques are the specification of a control polygon, or
interpolation or approximation of data points to generate the initial shape. For surfaces or solids, cross-sectional
design including skinning, sweeping, and swinging operations is also popular. The initial shape
is then refined into the final desired shape through interactive adjustment of control points and weights
and possibly the addition or deletion of knots. The refinement process is ad hoc and often tedious. To
ameliorate it, we propose dynamic NURBS.
4 Formulation of D-NURBS
This section formulates our physics-based D-NURBS model. The shape parameters of geometric NURBS,
which were described in Section 3, play the role of generalized (physical) coordinates in dynamic NURBS.
We introduce time, mass, and deformation energy into the standard NURBS formulation and employ
Lagrangian dynamics to arrive at the system of nonlinear ordinary differential equations that govern the
shape and motion of D-NURBS.
4.1 Curves
For simplicity, consider first a D-NURBS space curve. The D-NURBS curve is defined as in (1), but it is
also a function of the spatial parameter u and time t:
The control points p i (t) and weights w i (t), which are now functions of time, comprise the generalized coordinates
of D-NURBS. To simplify notation, we concatenate the generalized coordinates into the following
vectors:
where ? denotes transposition. Note that we can express the curve c(u; t) as c(u; p) in order to emphasize
its dependence on the vector of generalized coordinates p whose components are functions of time. The
velocity of the kinematic spline is
where an overstruck dot denotes a time derivative and J(u; p) is the Jacobian matrix. Because c is a
3-component vector-valued function and p is an 4(n dimensional vector, J is a 3 \Theta 4(n
which is the concatenation of the vectors @c=@p i and @c=@w i , us investigate the contents
of J. For be a 3 \Theta 3 diagonal matrix whose diagonal entries are the rational basis
functions
and let the 3-vector
We collect the B i into B and the w i into W as follows
The Jacobian matrix may then be written as
Using the foregoing notation, we can express


Appendix

A shows that
so that we can express the D-NURBS as the product of the Jacobian matrix and the generalized coordinate
vector:
Another interesting relationship is
enable us to simplify the discretized version of the
D-NURBS differential equations and arrive at an efficient numerical implementation.
4.2 Surfaces
A D-NURBS surface has a similar structure to the curve. Proceeding analogously from (2), we define
Again, the control points and weights comprise the generalized coordinates and are assembled into vectors
Two subscripts are now associated with the generalized coordinates, reflecting the surface
parameters u and v. For concreteness, we order the components in these vectors such that the second
subscript varies faster than the first, although this convention does not affect the derived results.
As before, we can write s(u; v; p) instead of s(u; v; t). By analogy to c in (4) and (6), we obtain for the
D-NURBS surface
p:
However, the contents of the Jacobian J differ from those in the curve case. To arrive at an explicit
expression for J, let B i;j (u; v; p), for diagonal matrix whose
entries are
and let the 3-vector
@w i;j
As before, the B i;j and w i;j are assembled into B and W, respectively. Hence,
Note that J is now a 3 \Theta 4(m
4.3 D-NURBS Equations of Motion
The previous two sections presented D-NURBS curve and surface geometry in a unified way. D-NURBS
physics are based on the work-energy version of Lagrangian dynamics [14]. In an abstract physical system,
be a set of generalized coordinates. These N functions of time are assembled into the vector p.
be the generalized applied force that acts on p i . We assemble the f i into the vector f p . We also
assume that J is the concatenation of N vectors j i .
To proceed with the Lagrangian formulation, we will define kinetic energy T , potential energy U , and
Raleigh dissipation energy F which are functions of the generalized coordinates and their derivatives. The
Lagrangian equations of motion are then expressed as
d
dt
@
@
Variants of this equation have served as the basis for deformable model formulations [36]. Using (10), we
can take an arbitrary geometric model, such as a NURBS, introduce appropriate kinetic, potential, and
dissipation energies, and systematically formulate a physics-based, dynamic generalization of the model
[17].
In the sequel, we will discuss only D-NURBS surfaces (we can consider D-NURBS curves as a special
case with a simpler expression in fewer variables). To define energies and derive the D-NURBS equations
of motion, let (u; v) be the mass density function defined over the parametric domain of the surface. The
kinetic energy of the surface is
Z Z
s du dv =2
where (using
Z Z
is an N \Theta N mass matrix. Similarly, let fl(u; v) be the damping density function. The dissipation energy is
s du
where
Z Z
is the damping matrix.
For the elastic potential energy of D-NURBS, we can adopt the thin-plate under tension energy model
[35], which was also used in [5, 42] (other energies are possible, including the nonquadratic, curvature-based
energies in [36, 19]):
ff 1;1
@s
@s
The ff i;j (u; v) and fi i;j (u; v) are elasticity functions which control local tension and rigidity, respectively, in
the two parametric coordinate directions. 2 In view of (8), the N \Theta N stiffness matrix is
vv J vv
du dv; (16)
where the subscripts on J denote parametric partial derivatives.
In

Appendix

B, we show that by applying (10), the D-NURBS equations of motion are given by
where the generalized force vector, obtained through the principle of virtual work [14] done by the applied
force distribution f (u; v; t), is
Z Z
and where
Z Z
J du dv:
2 In the case of the D-NURBS curve, there are only two terms and two weighting functions in the potential energy form
because of the single spatial parameter u:
@c
5 Forces and Constraints
We have derived the Lagrangian equations of motion for D-NURBS. When working with D-NURBS, a
modeler may impose design requirements in terms of energies, forces, and constraints. For instance, the
modeler may apply time-varying forces to sculpt shapes interactively or to optimally approximate data.
Certain aesthetic constraints such as "fairness" are expressible in terms of elastic energies that give rise to
specific stiffness matrices K. By building the physics-based D-NURBS generalization upon the standard
NURBS geometry, we allow the modeler to continue to use the whole spectrum of advanced geometric
design tools that have become prevalent, among them, the imposition of geometric constraints that the
final shape must satisfy. For example, if the shapes of certain cross-sectional curves in a NURBS surface
must be circular arcs, the control points associated with these curves must be constrained geometrically
to admit only circular arcs. Other constraints include the specification of positions of surface points, the
specification of surface normals at surface points, and continuity requirements between adjacent surface
patches or curve arcs.
5.1 Applied Forces
In the D-NURBS design scenario, sculpting tools may be implemented as applied forces. The force f (u; v; t)
in the D-NURBS equation of motion represents the net effect of all applied forces. Typical force functions
are spring forces, repulsion forces, gravitational forces, inflation forces, etc. [36, 6, 34].
For example, consider connecting a material point of a D-NURBS surface to a point d 0 in space
with an ideal Hookean spring of stiffness k. The net applied spring force is
Z Z
where is the ffi is the unit delta function. Equation (19) implies that f
vanishes elsewhere on the surface, but we can generalize it by replacing the ffi function with a smooth kernel
(e.g., a unit Gaussian) to spread the applied force over a greater portion of the surface. Furthermore, the
points need not be constant, in general. We can control either or both using a mouse to
obtain an interactive spring force.
5.2 Linear Constraints
Linear geometric constraints such as point, curve, and surface normal constraints are often useful [6]. To
incorporate linear geometric constraints into D-NURBS, we reduce the matrices and vectors in (17) to
a minimal unconstrained set of generalized coordinates. Linear constraints are generally expressible as
follows:
where A is a matrix of coefficients. If (20) is an underdetermined linear system, we can eliminate variables
to express the generalized coordinate vector p as
where q is a new generalized coordinate vector with M ! N components q j . Here, G is an N \Theta M matrix,
which may be computed through Gaussian elimination or other means, and q 0 is a constant vector.
The lower-dimensional generalized coordinate vector q replaces p in the linearly constrained D-NURBS
model. To derive the equations of motion with constraints, we combine (8) and (9) with (21) as follows:
where
is the new Jacobian matrix of s with respect to q. Note that L consists of M vectors l
. Hence, the energy expressions become
F =2
We also define the M \Theta M mass, damping, and stiffness matrices of the constrained D-NURBS:
In

Appendix

C we prove several identities that yield the following equations of motion for D-NURBS
with linear constraints:
where the generalized forces are
Z Z
and where
I
Although (22) looks more complicated than (17), its implementation is surprisingly straightforward in
view of the sparseness of G and the reduced size of q.
5.3 Nonlinear Constraints
It is possible to impose nonlinear geometric (equality) constraints
on D-NURBS through Lagrange multiplier techniques [32]. This approach increases the number of degrees
of freedom, hence the computational cost, by adding unknowns  i -also known as Lagrange multipliers-
which determine the magnitudes of the constraint forces. The method is applied to the B-spline model
in [6, 42]. The augmented Lagrangian method [18] combines the Lagrange multipliers with the simpler
penalty method [26].
One of the best known techniques for applying constraints to dynamic models is the Baumgarte stabilization
method [1] which solves constrained equations of motion through linear feedback control (see also
[17, 25]). We augment (17) as follows:
are generalized forces stemming from the holonomic constraint equations. The term C ? p is
the transpose of the constraint Jacobian matrix and  vector of Lagrange multipliers
that must be determined. We can obtain the same number of equations as unknowns, by differentiating
twice with respect to time:
method replaces these additional equations with
equations that have similar solutions, but which are asymptotically stable; e.g., the damped second-order
differential equations
C+2a
are stabilization factors. For a given value of a, we
can choose a to obtain the critically damped solution C(p; 0)e \Gammaat which has the quickest asymptotic
decay towards constraint satisfaction (24). Taking the second time derivative of (24) and rearranging terms
yields
Cp
p)p
Cp
We arrive at the following system of equations for the unknown constrained generalized accelerations and
Lagrange multipliers: 2
This system can be solved for  p and   using standard direct or iterative techniques (or in the least squares
sense when it is overdetermined by conflicting constraints).
5.4 Constraining the Weights
The components of p b may take arbitrary finite values in !, but this is not the case for the weights pw .
Negative components of pw may cause the denominator to vanish at some evaluation points, causing the
matrices to diverge. Although not forbidden, negative weights are not useful. We include constraints
in our D-NURBS which enforce positivity of weight values. Such a constraint is easily implemented by
establishing a positive lower bound on the weight values and enforcing it in the numerical solution using a
projection method.
Another potential difficulty is that lower values pw tend to flatten the surface in the vicinity of the
control points, which lowers the deformation energy. Consequently, the pw will tend to move toward zero.
To counteract this tendency, we can associate with the potential energy the penalty term
in which p 0
w are desired weights, and c is scaling factor.
We have implemented both techniques. Experiments indicate that the projection scheme works very
well. Consequently, we do not make use of the penalty scheme in our current modeling system. It may be
useful, however, if the modeler wants to constrain the weights to assume values near certain target values
w .
6 Numerical Implementation
The evolution of the D-NURBS generalized coordinates is determined by the second-order nonlinear differential
equations (17) or (22), with time-varying mass, damping, and stiffness matrices. We cannot obtain
an analytical solution in general. An efficient numerical implementation of D-NURBS is possible, however,
through the use of techniques from finite-element analysis [15].
Standard finite element codes assemble individual element matrices into the global matrices that appear
in the discrete equations of motion [43, 15]. Despite the fact that the global matrices are stored using
efficient sparse matrix storage schemes (which maintain only the entries needed for matrix factorization),
matrix assembly and matrix-vector multiplications quickly become too costly, particularly for D-NURBS
surfaces with high dimensional p.
In our implementation, we use an iterative matrix solver that enables us to avoid the costs of assembling
the global M, D, and K matrices associated with the whole D-NURBS curve or surface. Rather, we work
with the individual D-NURBS element matrices. We construct finite element data structures that contain
the information needed to compute all of the element matrices independently and in parallel.
6.1 Data Structures for D-NURBS Elements
We consider a D-NURBS curve arc or surface patch defined by consecutive knots in the parametric domain
to be a type of finite element. We define an element data structure which contains the geometric
specification of the D-NURBS element along with its physical properties. A complete D-NURBS curve or
surface is then implemented as a data structure which consists of an ordered array of D-NURBS curve or
surface elements with additional information.
The element structure includes pointers to the associated generalized coordinates (control points and
weights). For instance, 9 control points and associated weights are needed to describe a patch of a quadratic
D-NURBS surface (the total number of degrees of freedom is 36). The generalized coordinates associated
with the entire D-NURBS curve or surface are stored in the global vector p. Note that neighboring elements
will share some generalized coordinates. The shared variables will have multiple pointers impinging on
them.
We also allocate in each D-NURBS element an elemental mass, damping, and stiffness matrix, and
include in the element data structure the quantities needed to compute these matrices. These quantities
include the mass (u; v), damping fl(u; v), and elasticity ff i;j (u; v), fi i;j (u; v) density functions, which may
be represented as analytic functions or as parametric arrays of sample values.
6.2 Calculation of Element Matrices
We evaluate the integral expressions for the matrices (12), (14), and (16) numerically using Gaussian
quadrature [27]. We shall explain the computation of the element stiffness matrix; the computation of the
mass and damping matrices follow suit. Assuming the element's parametric domain is [u
the expression for entry k ij of the stiffness matrix of a D-NURBS surface element takes the integral form
Z
where, according to (16),
Here, the j i are the columns of the Jacobian matrix for the D-NURBS surface element.
We apply Gaussian quadrature to compute the above integral approximately. The integral is obtained
by applying Gaussian quadrature on the 1-D interval twice. Given integer N g and N h , we can find Gauss
weights a g , b h and abscissas u g , v h in two directions of the parametric domain such that k ij can be
approximated by ([27])
Ng
a
We apply the de Boor algorithm [9] to evaluate f ij
Generally speaking, for integrands that are polynomial of degree 2N \Gamma 1 or less, Gaussian quadrature
evaluates the integral exactly with N weights and abscissas. For D-NURBS, f ij is not polynomial unless
the model is reduced to a B-spline. In our system, we choose N g and N h to be integers between 4 and 7.
Our experiments reveal that matrices computed in this way lead to stable, convergent solutions.
6.3 Discrete Dynamics Equations
In order to integrate the D-NURBS ordinary differential equations of motion (17) in an interactive modeling
environment, it is important to provide the modeler or designer with visual feedback about the evolving
state of the dynamic model. Rather than using costly time integration methods that take the largest
possible time steps, it is more crucial to provide a smooth animation by maintaining the continuity of
the dynamics from one step to the next. Hence, less costly yet stable time integration methods that take
modest time steps are desirable.
The matrices M, D, and K (and M q , D q , and K q ) are symmetric, sparse, and banded. Several
algorithms are available for the numerical integration of the D-NURBS ordinary differential equations of
3 The entries of the D-NURBS curve element stiffness matrix are
R
Given integer Ng , we can find Gauss quadrature abscissas ug and weights ag such that k ij can be approximated
as
motion. The suitability of implicit or explicit integration algorithms is dependent on the bandwidth of the
matrices, as determined by the dimensionality of the parametric space and the order of the NURBS basis
functions. The matrices for a D-NURBS curve have a single band which has a half-bandwidth of 4k, where
k is the order of the NURBS basis. For D-NURBS surfaces, the matrices become block banded, with each
block containing n bands similar to those of dynamic curves, where n depends on the order of the NURBS
basis in the opposite parametric direction.
We integrate the differential equations (17) through time by discretizing the derivative of p over time-steps
\Deltat. The state of the D-NURBS at time t + \Deltat is integrated using prior states at time t and t \Gamma \Deltat.
Depending on the choice of physical parameters, (17) may be a stiff system. We use an implicit time
integration method in order to maintain the stability of the integration scheme. The implicit method
employs discrete derivatives of p using backward differences
Making use of the fact that
we obtain the time integration formula
Z Z
where the superscripts denote evaluation of the quantities at the indicated times, and where the remaining
quantities are evaluated at time t+ \Deltat. For example, we can extrapolate the mass matrix using the formula
and likewise for the other matrices and vectors in (29). The simpler, constant extrapolations M
M (t) , etc., ([15] Section 8.6) also work satisfactorily.
In the interest of efficiency, we do not factorize the matrix expression on the left hand side of (29) in
order to solve for p (t+\Deltat) . Instead, we employ the conjugate gradient method to obtain an iterative solution
[27, 32]. To achieve interactive simulation rates, we limit the number of conjugate gradient iterations per
time step to 10. We have observed that 2 iterations typically suffice to converge to a residual of less than
iterations tend to be necessary when the physical parameters (mass, damping, tension,
stiffness, applied forces) are changed dramatically during interactive sculpting.
Note that when physical parameter values are chosen such that the equations (17) are not stiff, it
is much cheaper to employ an explicit time integration method using forward differences. Appendix D
discusses the forward difference approach. Note that the explicit method requires values for the matrices
only at time t, hence (30) is not needed.
For the D-NURBS curve, we simply substitute c with s in (29) and everything proceeds as in the case
of surfaces.
In the case of D-NURBS with linear constraints, we discretize the derivatives of q (rather than p).
Analogous to (29), the discrete version of (22) is
Z Z
Since there are fewer degrees of freedom in q than in p, faster numerical implementation of constrained
D-NURBS is possible, provided the constraint matrix G is sparse. Note that since the conjugate gradient
algorithm requires only gradient vectors, we need not compute M q , D q and K q explicitly. The only extra
cost is the computation of Gq and the multiplication of G with several vectors in (31).
For nonlinear constraints, at each time step we can apply the conjugate gradient algorithm to solve
(27) for the Lagrange multipliers   and the constrained generalized accelerations
(given known p and
p). We then integrate  p and
p from t to t + \Deltat to obtain the constrained generalized velocities
p and
coordinates p (e.g., using the simple Euler method
6.4 Simplifications
The above implementation strategy permits real-time simulation of the general D-NURBS model on
midrange graphics workstations. Lengthy curves can be simulated at interactive rates, as can quadratic
and cubic surfaces on the order of control points. It is possible to make simplifications that further
reduce the computational expense of (29) and (31), making it practical to work with larger D-NURBS
surfaces.
First, it is seldom necessary to simulate the fully general D-NURBS model throughout an entire sculpting
session. Once we freeze the values of the weights pw , all of the matrices in (17) and (22) are constant
and their entries need no longer be recomputed at each time step. With this restricted rational generalization
of the B-splines, interactive rates are readily obtained for much larger surfaces with up to an order of
magnitude more degrees of freedom. Note that D-NURBS reduce to dynamic B-splines if all components
of the frozen vector pw are, in addition, equal to 1.
Second, a full implementation of (17) is appropriate if the models must respond with realistic dynamics.
However, in certain CAGD and surface fitting applications where the modeler is interested only in the final
equilibrium configuration of the model, it makes sense to simplify (17) by setting the mass density function
(u; v) to zero, so that the inertial terms vanish. This economizes on storage and makes the algorithm
more efficient. With zero mass density, (17) reduces to
while (22) reduces to
Discretizing the derivatives of p and q in (32) and (33) with backward differences, we obtain the integration
(D
and
(D
respectively.
7 Modeling Environment and Applications
This section describes our D-NURBS modeling environment and presents several applications of D-NURBS
relating to trimming, solid rounding, optimal curve and surface fitting, cross-sectional design of shapes,
free-form deformation, and shape metamorphosis.
7.1 Interactive Modeling Environment
We have developed a prototype modeling environment based on the D-NURBS model. The system is
written in C and it currently runs under Iris Explorer on Silicon Graphics workstations. Our parallelized
iterative numerical algorithm takes advantage of a 4D/340VGX multiprocessor. To date, our D-NURBS
modules implement 3D curve and surface objects with basis function orders of 2, 3, or 4 (i.e., from linear
to cubic D-NURBS) with linear geometric constraints. They may be combined with existing Explorer
modules for data input and object rendering.
Using our system, designers can sculpt shapes in conventional geometric ways, such as by sketching
control polygons, repositioning control points, and adjusting associated weights. They can also satisfy
design requirements by adjusting the D-NURBS internal physical parameters, along with various applied
force terms and constraints. Physical parameters such as the mass, damping, and stiffness densities, and
force gain factors are interactively adjustable through Explorer control panels. 4
Our D-NURBS system also implements, as special cases, rational B-splines (fixed weights values) and
ordinary B-splines (unit weights), hence it encompasses three related free-form modeling schemes into one
unified physics-based implementation. The following sections describe several applications.
7.2 Trimming Curves and Surfaces
The physical basis of the D-NURBS model and our numerical quadrature approach to computing the mass,
damping, and stiffness matrices (Section 6.2) suggests a straightforward technique for trimming D-NURBS
curves and surfaces. Surfaces may be trimmed with arbitrary curves defined in the parametric domain,
including D-NURBS curves. The trimming of D-NURBS is directly analogous to the pruning of excess
material from real-world deformable wires and sheets.
Consider a D-NURBS patch that is intersected by a trimming curve. The values of material properties-
mass, damping, elasticity densities-over the portion of the patch that extends outside the trimming curve
should not affect the dynamics of the trimmed model and are set to zero. The Gauss quadrature proceeds
normally, only abscissas that sample locations with zero physical parameters make zero contribution to the
summation. Of course, a patch may be disregarded if it falls completely outside the trimming boundary.
Note that the integrands are discontinuous at the boundary due to the sudden transition of the the
physical parameter values. While this does not destroy the correctness of Gauss quadrature, we can
expect reduced accuracy since the integrand is not smooth. There is no easy way around this potential
problem for arbitrary boundary curves, other than to use Monte Carlo integration and pay the penalty of
slow asymptotic convergence [27]. Fortunately, in practice, the D-NURBS model appears tolerant of the
reduced integration accuracy in boundary elements.
Fig. 1 illustrates the trimming of D-NURBS surfaces using D-NURBS trimming curves in the parametric
domain. Fig. 1(a) shows the creation of a triangular surface with three linear curves each with 4 control
points. Fig. 1(b) shows a trimmed annular surface defined by two circular trimming curves each with 25
control points. Snapshots are shown of the trimmed surfaces undergoing dynamic deformations in response
to applied forces.
4 At present, our software assumes uniform mass, damping, and elasticity densities over the parametric domain, except
across trimming boundaries (see Section 7.2). This is straightforwardly generalizable to accommodate the nonuniform density
functions in our formulation, although our user interface would have to be extended to afford the user full control in specifying
these functions.
7.3 Solid Rounding
The rounding of solids is a common operation for the design of mechanical parts. A goal of this operation
is to construct a fillet surface that smooths by interpolating between two or more surfaces. In geometric
modeling, this is usually done by enforcing parametric or geometric continuity requirements on the fillet.
D-NURBS provide a natural solution to the solid rounding problem. In contrast to the geometric
approach, the D-NURBS can produce a smooth fillet with the proper continuity requirements by minimizing
its internal deformation energy. Additional position and normal constraints may be imposed across the
boundary of the surface. The dynamic simulation automatically produces the desired final shape.
Fig. 2 demonstrates edge rounding using D-NURBS surfaces. In Fig. 2(a1), we round an edge at the
intersection of two planar faces. The faces are formed using quadratic D-NURBS patches with 8 \Theta 5 control
points. Multiple control points are used to produce the sharp corner. We free the control points near the
corner and fix the remaining control points at the far boundaries to impose position and surface normal
constraints. After initiating the physical simulation, the D-NURBS rounds the corner as it achieves the
minimal energy equilibrium state shown in Fig. 2(a2).
Fig. 2(b1) illustrates the rounding of a trihedral corner of a cube. The corner is represented using a
quadratic D-NURBS surface with 6 \Theta 5 control points. The corner is rounded with position and normal
constraints along the far boundaries of the faces (Fig. 2(b2)).
The above rounding technique is easily extensible to any number of surfaces meeting at arbitrary angles.
To round a complete solid, we can apply the technique to all of its edges, corners, etc.
7.4 Optimal Surface Fitting
D-NURBS are applicable to the optimal fitting of regular or scattered data [28]. The most general and often
most useful case occurs with scattered data, when there are fewer or more data points than unknowns-i.e.,
when the solution is underdetermined or overdetermined by the data. In this case, D-NURBS can yield
"optimal" solutions by minimizing the thin-plate under tension deformation energy [35, 33]. The surfaces
are optimal in the sense that they provide the smoothest curve or surface (as measured by the deformation
energy) which interpolates or approximates the data.
The data point interpolation problem amounts to a linear constraint problem when the weights pw are
fixed, and it is amenable to the constraint techniques presented in Section 5.2. The optimal approximation
problem can be approached in physical terms, by coupling the D-NURBS to the data through Hookean
spring forces (19). We interpret d 0 in (19) as the data point (generally in as the D-NURBS
parametric coordinates associated with the data point (which may be the nearest material point to the
data point). The spring constant c determines the closeness of fit to the data point. 5
We present three examples of surface fitting using D-NURBS coupled to data points through spring
forces. Fig. 3(a) shows 19 data points sampled from a hemisphere and their interpolation with a quadratic
D-NURBS surface with 49 control points. Fig. 3(b) shows 19 data points and the reconstruction of
the implied convex/concave surface by a quadratic D-NURBS with points. The spring forces
associated with the data points are applied to the nearest points on the surface. In Fig. 3(c) we reconstruct
a wave shape from 25 sample points using springs with fixed attachments to a quadratic D-NURBS surface
with 25 control points.
7.5 Cross-Sectional Design
Cross-sectional design is a common approach to shaping surfaces and solids using cross-sectional curves.
Our modeling system provides the modeler with D-NURBS generator curves along with the most useful
surface generator operators-sweeping and swinging [23]-for generating common surfaces such as extruded
surfaces, natural quadrics, general quadrics, ruled surfaces, and surfaces of revolution. In our current
implementation, the modeler can indirectly sculpt the composite surfaces by direct dynamic manipulation
of the D-NURBS generator curves subject to constraints. Geometric constraints such as positions and
normals may be associated with D-NURBS curves.
We present three examples in the cross-sectional design of surfaces. First, Fig. 4 shows a generalized
cylinder with points created by sweeping a green closed curve with 6 control points along the
red curve with 5 control points (Fig. 4(a)). The generalized cylinder is interactively sculpted into various
shapes by applying spring forces on the green and red cubic D-NURBS curves (Fig. 4(b-d)). Second, Fig. 5
shows a torus with 49 control points generated by swinging the green curve over the red curve (Fig. 5(a)).
Both generators are closed cubic D-NURBS curves with 7 control points. In Fig. 5(b-d), the torus is
deformed interactively by applying a spring force. Third, Fig. 6 shows a 35 control point "wine glass"
shape obtained by sweeping the green generator curve on the red generator curve in Fig. 6(a). The red
closed D-NURBS curve has 7 control points and the green open D-NURBS curve has 5 control points. The
glass is interactively sculpted into different swept shapes using spring forces (Fig. 6(b-d)).
5 Cross-validation [41] provides a principled approach to choosing the relevant physical parameters-typically the ratio of
data force spring constants to surface stiffnesses-for given data sets. 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
[35].
7.6 Shape Metamorphosis
Metamorphosis is the blending of one shape into another. Work on 3D shape blending includes [8, 16]. The
blending of 2D shapes has widespread application in illustration, animation, etc., and simple (e.g., linear)
interpolation techniques usually produce unsatisfactory results [29]. Shinagawa and Kunii [31] propose
an method which interpolates differential properties of the 2D shape using the elastic surfaces of [37, 36].
Motivated by their approach, we propose a new technique which exploits the properties of D-NURBS
surfaces. D-NURBS provide minimal-energy blends which are more general than linear interpolants and
which may be controlled through various additional constraints specific to the NURBS geometry. For
example, since NURBS can represent conics, we can exploit their ability to generate helical surfaces in
order to represent rotational components of shape metamorphoses.
Our technique interpolates a D-NURBS generalized cylinder between two or more planar shapes with
known correspondence. The interpolant is a constrained skinned surface between the two end curves. We
interpret the parametric coordinate along the length of the surface, say u, as the (temporal) shape blending
parameter. The u coordinates of the control points are fixed, while the v coordinates are subject to the
D-NURBS deformation energy and additional constraints. We obtain intermediate shapes by evaluating
cylinder cross sections at arbitrary values of u.
Some examples will help to explain our technique in more detail. Fig. 7 shows minimal-energy D-
NURBS surfaces with 3 \Theta 6 control points (3 control points along u) interpolating between two closed
elliptical curves. Fig. 7(b) shows a linear generalized cylinder obtained with high surface tension in the u
direction: ff Note that the morphing ellipse shrinks as it rotates, a typical
artifact of linear interpolation [29]. The rotational component can be preserved, however, by imposing a
geometric constraint on the D-NURBS which creates a helical surface in the u direction of the cylinder,
as shown in Fig. 7(c). Here the only nonzero deformation energy parameter is the rigidity fi
Note that the interpolating surface now bulges outside the convex hull between the two ellipses. As a
consequence the interpolated ellipses rotate instead of shrinking (Fig. 7(d)). In general, we can obtain
a family of blending surfaces between these two extremes by using intermediate values of tension ff 1;1
and rigidity fi 1;1 parameters. Fig. 8 illustrates the morphing between two planar polygonal shapes. The
D-NURBS interpolant is a 3 \Theta 7 surface. The parts of this figure are similar to those of the previous one.
7.7 Free-Form Deformation
Bezier introduced the idea of globally deforming a shape through a mapping implemented as
a free-form (tensor product) spline. The shape is embedded in the parametric domain of the spline and
deformed by manipulating the spline's control points. Sederberg and Parry [30] popularized this concept
of free-form deformation (FFD) in the graphics literature.
We can arrive at a physics-based version of the FFD in which the object to be deformed is embedded in
the D-NURBS "material" and deforms along with the deforming D-NURBS. The physics-based deformation
is similar in motivation to the one devised in [7], but it offers fully continuous dynamics by virtue of the
continuous nature of D-NURBS. In particular, we can apply forces at arbitrary points in the D-NURBS
space to control the deformation directly (rather than through indirect manipulation via control points).
8 Conclusion
We have developed dynamic NURBS, a physics-based generalization of the well-known geometric NURBS
curves and surfaces. D-NURBS were derived systematically through the application of Lagrangian mechanics
and implemented using concepts from finite element analysis and efficient numerical methods. We
generalized our D-NURBS formulation to incorporate geometric constraints. Our D-NURBS formulation
extends naturally to solids, albeit at proportionately greater computational cost.
We described a prototype interactive modeling system based on D-NURBS and demonstrated the
flexibility of our models in a variety of applications. When working with D-NURBS, a designer need not
manipulate the individual degrees of freedom of an object. Instead, the designer can work with sculpting
tools that are implemented in terms of forces and geometric constraints. Sculpting forces may be applied
interactively to move the object or refine its shape. The interactive response of the D-NURBS may be
modified by varying its mass and damping distributions. Global design requirements may also be achieved
by varying physical parameters such as elastic energies.
Because NURBS have been assimilated into such industry standards such as IGES, PHIGS+, and
OpenGL, our dynamic NURBS model promises to forge stronger links between established CAGD methodologies
and new techniques in physics-based modeling.
A Position Equation
Clearly,
and
To prove (6), we must show that (5) holds true. By definition,
Exchanging the summation order and indexes, we have
which proves (5), hence (6).
Moreover, taking the time derivative of (6) yields
Jp:
Given (4), it follows that
B Simplification of Motion Equations
Applying (10), the D-NURBS motion equations are
The two vectors involving M on the right side of (36) may be be combined into a single vector:
I
Using the product rule of differentiation, we have
I ? . For (37) to hold, we must have
I ?
It is obvious from (11) that the two sides of (38) are integrals of the two vectors, respectively. The two
vectors in (38) are equal
We now prove (39). The right side is represented as R. Based on the product rule of differentiation
and the property of the Jacobian matrix, we obtain the simpler expression
p:
Furthermore, according to the property of the Jacobian matrix and the observation that we can interchange
the order of the cross derivatives
Combining the above two expressions we obtain
Since R is a scalar, (39) is proved.
Next, we derive another mathematical identity:
0: (40)
The left side of (40) is the integral of the summation of the five terms of (16). Each of these five vectors
is the zero vector. To see this, note that for
@s
According to the definition of the Jacobian matrix, the left hand side is . Thus, we have
The order of the second cross derivative with respect to the variables p i and u is irrelevant, so we further
have
Now, (41) is the ith component of the first vector on the left side of (40). Similarly, the other four vectors
inside the integral operator of the left hand side of (40) are all zero.
C Simplification of Motion Equations with Linear Constraints
Applying (10), the D-NURBS motion equations with linear constraints are
To simplify (42) we first show that it reduces to the following
As in

Appendix

B,
I ? . Hence, (43) is also expressed as
Similar to (38), the two sides of (44) are integrals of two vectors, respectively. Hence, (44) holds if
corresponding components of the two vectors are equal; i.e., for
l ?
We now prove (45). Denoting the right side as R, we further expand it using the product rule of
differentiation
R =2
p:
Furthermore, according to the property of the Jacobian matrix and the irrelevance of the order of differ-
entiation, we have
Combining the above two equations, we have
l ?
l ?
Since R is a scalar, (45) follows.
The proof of
parallels that in Appendix B, with q j replacing p j and l j replacing j i .
D Explicit Time Integration
We discretize the motion equations using the following finite differences in p (q in the case of geometric
We obtain the discrete form of (17) as
Z Z
In this and the following explicit time integration schemes, all the matrices are evaluated at time t (instead
\Deltat as in the implicit schemes).
For D-NURBS surfaces with linear geometric constraints, (22) is discretized as
\DeltatD q q (t\Gamma\Deltat)
Z Z
For the D-NURBS curve, we substitute c with s in (47) and (48).
The discretized forms of the simplified first order equations of motion (32) and (33) are
and



--R

Stabilization of constraints and integrals of motion in dynamical systems.
Representing PDE surfaces in terms of B-splines
Using partial differential equations to generate free-form surfaces
A survey of curve and surface methods in CAGD.
Deformable curve and surface finite-element for free-form shape design
Linear constraints for deformable B-spline surfaces
Layered construction for animated deformable characters.
Shape averaging and its applications to industrial design.
On calculating with B-Splines
Trends in curve and surface design.
Curves and Surfaces for Computer aided Geometric Design: A Practical Guide.
From conics to NURBS: A tutorial and survey.
Hierarchical B-spline refinement
Hamilton's Principle and Physical Systems.
Finite Element Handbook.
Solid interpolating deformations: Construction and animation of PIPs.
Dynamic deformation of solid primitives with constraints.
Mathematical Programming.
Functional optimization for fair surface design.
Good vibrations: Modal dynamics for graphics and animation.
Modifying the shape of rational B-splines
Modifying the shape of rational B-splines
On NURBS: A survey.
Curve and surface constructions using rational B-splines
A generalization of dynamic constraints.
Constraints methods for flexible models.
Nemerical Recipes: The Art of Scientific Computing.
Fitting surfaces to scattered data.


The differential model: A model for animating transformation of objects using differential information.
Introduction to Applied Mathematics.
From splines to fractals.
Surface modeling with oriented particle systems.
Regularization of inverse visual problems involving discontinuities.
Deformable models.
Elastically deformable models.
Physical modeling with B-spline surfaces for interactive design and animation
Rational B-splines for curve and surface representation

Spline Models for Observational Data.
Variational surface modeling.
The Finite Element Method.
--TR
A survey of curve and surface methods in CAGD
Regularization of inverse visual problems involving discontinuities
Numerical recipes: the art of scientific computing
Free-form deformation of solid geometric models
Finite element handbook
Elastically deformable models
Curve and surface constructions using rational B-splines
Trends in curve and surface design
Modifying the shape of rational B-splines. part2: surfaces
Modifying the shape of rational B-splines. part 1: curves
From splines to fractals
Good vibrations: model dynamics for graphics and animation
Layered construction for deformable animated characters
Curves and surfaces for computer aided geometric design
Representing PDE surfaces in terms of B-splines
Physical modeling with B-spline surfaces for interactive design and animation
Using partial differential equations to generate free-form surfaces
Deformable curve and surface finite-elements for free-form shape design
Variational surface modeling
Functional optimization for fair surface design
Surface modeling with oriented particle systems
Dynamic deformation of solid primitives with constraints
Linear constraints for deformable non-uniform B-spline surfaces
2-D shape blending
A generalization of dynamic constraints
Constraints methods for flexible models
Shape Averaging and it''s Applications to Industrial Design
On NURBS
From Conics to NURBS
Computer-aided design applications of the rational b-spline approximation form.

--CTR
Javier Snchez-Reyes, A Simple Technique for NURBS Shape Modification, IEEE Computer Graphics and Applications, v.17 n.1, p.52-59, January 1997
Alan M. Shih , Tzu-Yi Yu , Sankarappan Gopalsamy , Yasushi Ito , Bharat Soni, Geometry and mesh generation for high fidelity computational simulations using non-uniform rational B-splines, Applied Numerical Mathematics, v.55 n.3, p.368-381, November 2005
Han , Raffaele De Amicis , Giuseppe Conti, Interactive spline-driven deformation for free-form surface styling, Proceedings of the 2006 ACM symposium on Solid and physical modeling, June 06-08, 2006, Cardiff, Wales, United Kingdom
Petros Faloutsos , Michiel van de Panne , Demetri Terzopoulos, Dynamic Free-Form Deformations for Animation Synthesis, IEEE Transactions on Visualization and Computer Graphics, v.3 n.3, p.201-214, July 1997
Lyubomir Zagorchev , Ardeshir Goshtasby , Martin Satter, R-snakes, Image and Vision Computing, v.25 n.6, p.945-959, June, 2007
Chhandomay Mandal , Hong Qin , Baba C. Vemuri, Dynamic smooth subdivision surfaces for data visualization, Proceedings of the 8th conference on Visualization '97, p.371-ff., October 18-24, 1997, Phoenix, Arizona, United States
David Baraff , Andrew Witkin, Large steps in cloth simulation, Proceedings of the 25th annual conference on Computer graphics and interactive techniques, p.43-54, July 1998
Ravi Ramamoorthi , Alan H. Barr, Fast construction of accurate quaternion splines, Proceedings of the 24th annual conference on Computer graphics and interactive techniques, p.287-292, August 1997
Roope Raisamo, An alternative way of drawing, Proceedings of the SIGCHI conference on Human factors in computing systems: the CHI is the limit, p.175-182, May 15-20, 1999, Pittsburgh, Pennsylvania, United States
Jason Lawrence , Thomas Funkhouser, A painting interface for interactive surface deformations, Graphical Models, v.66 n.6, p.418-438, November 2004
Hassan Ugail , Malcolm I. G. Bloor , Michael J. Wilson, Techniques for interactive design using the PDE method, ACM Transactions on Graphics (TOG), v.18 n.2, p.195-212, April 1999
Xianlian Zhou , Jia Lu, NURBS-based Galerkin method and application to skeletal muscle modeling, Proceedings of the 2005 ACM symposium on Solid and physical modeling, p.71-78, June 13-15, 2005, Cambridge, Massachusetts
Ronald N. Perry , Sarah F. Frisken, Kizamu: a system for sculpting digital characters, Proceedings of the 28th annual conference on Computer graphics and interactive techniques, p.47-56, August 2001
Eitan Grinspun, A discrete model of thin shells, ACM SIGGRAPH 2006 Courses, July 30-August 03, 2006, Boston, Massachusetts
Pavel Kagan , Anath Fischer , Pinhas Z. Bar-Yoseph, Integrated mechanically based CAE system, Proceedings of the fifth ACM symposium on Solid modeling and applications, p.23-30, June 08-11, 1999, Ann Arbor, Michigan, United States
Haixia Du , Hong Qin, Dynamic PDE-based surface design using geometric and physical constraints, Graphical Models, v.67 n.1, p.43-71, January 2005
Gerold Wesche , Hans-Peter Seidel, FreeDrawer: a free-form sketching system on the responsive workbench, Proceedings of the ACM symposium on Virtual reality software and technology, November 15-17, 2001, Baniff, Alberta, Canada
Guillaume Dewaele , Marie-Paule Cani, Interactive global and local deformations for virtual clay, Graphical Models, v.66 n.6, p.352-369, November 2004
Ari Rappoport , Alla Sheffer , Michel Bercovier, Volume-preserving free-form solid, Proceedings of the third ACM symposium on Solid modeling and applications, p.361-372, May 17-19, 1995, Salt Lake City, Utah, United States
M. I. G. Bloor , M. J. Wilson, An analytic pseudo-spectral method to generate a regular 4-sided PDE surface patch, Computer Aided Geometric Design, v.22 n.3, p.203-219, March 2005
Hong Qin , Demetri Terzopoulos, Dynamic manipulation of triangular B-splines, Proceedings of the third ACM symposium on Solid modeling and applications, p.351-360, May 17-19, 1995, Salt Lake City, Utah, United States
Ari Rappoport , Alla Sheffer , Michel Bercovier, Volume-Preserving Free-Form Solids, IEEE Transactions on Visualization and Computer Graphics, v.2 n.1, p.19-27, March 1996
Douglas DeCarlo , Dimitris Metaxas , Matthew Stone, An anthropometric face model using variational techniques, Proceedings of the 25th annual conference on Computer graphics and interactive techniques, p.67-74, July 1998
Gerold Wesche , Marc Droske, Conceptual free-form styling on the responsive workbench, Proceedings of the ACM symposium on Virtual reality software and technology, October 22-25, 2000, Seoul, Korea
Lihua You , Jian J. Zhang, Finite difference surface representation considering effect of boundary curvature, Geometric modeling: techniques, applications, systems and tools, Kluwer Academic Publishers, Norwell, MA, 2004
Volker Blanz , Thomas Vetter, A morphable model for the synthesis of 3D faces, Proceedings of the 26th annual conference on Computer graphics and interactive techniques, p.187-194, July 1999
Eitan Grinspun, A discrete model of thin shells, ACM SIGGRAPH 2005 Courses, July 31-August
Hong Qin , Demetri Terzopoulos, D-NURBS: A Physics-Based Framework for Geometric Design, IEEE Transactions on Visualization and Computer Graphics, v.2 n.1, p.85-96, March 1996
Hong Qin , Chhandomay Mandal , Baba C. Vemuri, Dynamic Catmull-Clark Subdivision Surfaces, IEEE Transactions on Visualization and Computer Graphics, v.4 n.3, p.215-229, July 1998
Gentaro Hirota , Renee Maheshwari , Ming C. Lin, Fast volume-preserving free form deformation using multi-level optimization, Proceedings of the fifth ACM symposium on Solid modeling and applications, p.234-245, June 08-11, 1999, Ann Arbor, Michigan, United States
Ramon F. Sarraga, A variational method to model
G
Eitan Grinspun , Petr Krysl , Peter Schrder, CHARMS: a simple framework for adaptive simulation, ACM Transactions on Graphics (TOG), v.21 n.3, July 2002
Steve Capell , Seth Green , Brian Curless , Tom Duchamp , Zoran Popovi, A multiresolution framework for dynamic deformations, Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation, July 21-22, 2002, San Antonio, Texas
Chandrajit L. Bajaj , Valerio Pascucci , Ariel Shamir , Robert J. Holt , Arun N. Netravali, Dynamic maintenance and visualization of molecular surfaces, Discrete Applied Mathematics, v.127 n.1, p.23-51, April
Chhandomay Mandal , Hong Qin , Baba C. Vemuri, Dynamic Modeling of Butterfly Subdivision Surfaces, IEEE Transactions on Visualization and Computer Graphics, v.6 n.3, p.265-287, July 2000
Denis Zorin, Modeling with multiresolution subdivision surfaces, ACM SIGGRAPH 2006 Courses, July 30-August 03, 2006, Boston, Massachusetts
finite elements;constraints;optimal curve and surface fitting;shape metamorphosis;cross-sectional shape design;NURBS;trimming;free-form deformation;dynamics;CAGD;deformable models;solid rounding