next up previous contents
Next: 5.3 Nonlinear Constraints Up: 5 Forces and Constraints Previous: 5.1 Applied Forces

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:

  equation344

where tex2html_wrap_inline2095 is a matrix of coefficients. If (20) is an underdetermined linear system, we can eliminate variables to express the generalized coordinate vector tex2html_wrap_inline1921 as

  equation348

where tex2html_wrap_inline2099 is a new generalized coordinate vector with M;SPMlt;N components tex2html_wrap_inline2103 . Here, tex2html_wrap_inline2105 is an tex2html_wrap_inline2107 matrix, which may be computed through Gaussian elimination or other means, and tex2html_wrap_inline2109 is a constant vector.

The lower-dimensional generalized coordinate vector tex2html_wrap_inline2099 replaces tex2html_wrap_inline1921 in the linearly constrained D-NURBS model. To derive the equations of motion with constraints, we combine (8) and (9) with (21) as follows:

displaymath2073

displaymath2074

where

displaymath2075

is the new Jacobian matrix of tex2html_wrap_inline2115 with respect to tex2html_wrap_inline2099 . Note that tex2html_wrap_inline2119 consists of M vectors tex2html_wrap_inline2123 , for tex2html_wrap_inline2125 . Hence, the energy expressions become

displaymath2076

displaymath2077

displaymath2078

We also define the tex2html_wrap_inline2127 mass, damping, and stiffness matrices of the constrained D-NURBS:

displaymath2079

displaymath2080

displaymath2081

In Appendix C we prove several identities that yield the following equations of motion for D-NURBS with linear constraints:

  equation367

where the generalized forces are

  equation373

and where

displaymath2082

displaymath2083

Although (22) looks more complicated than (17), its implementation is surprisingly straightforward in view of the sparseness of tex2html_wrap_inline2105 and the reduced size of tex2html_wrap_inline2099 .



Demetri Terzopoulos | Source Reference