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
.