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. 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 simplify the motion equations and apply numerical quadrature to the underlying NURBS basis functions to compute efficiently the integral expressions for the matrix entries.