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 is a matrix of coefficients. If (20) is an underdetermined linear system, we can eliminate variables to express the generalized coordinate vector as
where is a new generalized coordinate vector with M;SPMlt;N components . Here, is an matrix, which may be computed through Gaussian elimination or other means, and is a constant vector.
The lower-dimensional generalized coordinate vector replaces 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 with respect to . Note that consists of M vectors , for . Hence, the energy expressions become
We also define the 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
and where
Although (22) looks more complicated than (17), its implementation is surprisingly straightforward in view of the sparseness of and the reduced size of .