Description
Constraints may describe complex non-linear algebraic relationships between the parameters of a model. To provide constraint satisfaction and maintenance in an interactive environment requires extremely fast and general equation solving techniques. We have developed a system called MechEdit for the interactive editing and animation of planar linkages to demonstrate techniques applicable to general geometric constraint-solving problems.
MechEdit combines analytic and iterative numerical techniques for constraint-system solving. A system of equations derived from a linkage is first examined and ordered based upon dependencies between parameters. Parameters that can be solved by propagating values are solved using backsubstitution. Among the remaining unsolved equations, a set of basic geometric reductions are used to identify parameters that can be solved analytically by combining pairs of equations. Finally, Newton-Raphson iteration is used to solve the remaining parameters. Singular value decomposition is used to solve systems of linear equations within the inner-loop of the Newton-Raphson iteration to provide quasi-physical motion for under-constrained and degenerate systems. By providing high-performance, interactive constraint maintenance and robust solving for complex systems, MechEdit demonstrates the power of constraints as a paradigm for specifying relationships between the primitives of a geometric model.