Abstract
New approaches to solving underconstrained and inconsistent overconstrained 3D geometric models are described. When a model is found to be underconstrained, the underconstrained parts of the model are determined and shown to the user. The user has to add constraints to these parts, to make the model well-constrained. When an inconsistency in the model is found, the set is determined of the constraints that together cause the inconsistency. The model is made well-constrained, either by modification of one of these constraints, or by removal of one of these constraints from the model.
The approaches make use of a dependency graph, which contains information about dependencies between model variables. When an inconsistency is detected, the set of conflicting constraints is determined by traversal of the dependency graph. When an underconstrained situation is detected, the model variables in the underconstrained parts of the model are determined using this graph.
The concept of storing information about dependencies between model variables in a graph, can be used with all non-iterative constraint satisfaction techniques. An implementation of the approaches has been made in a 3D constraint solver based on degrees of freedom analysis. It identifies rigidly connected parts of the model, and then solves the geometric constraints in these parts incrementally by geometric transformations, taking into account the translational and rotational degrees of freedom of the constrained model parts. The solver handles loops of constraints by rewriting some of the constraints in the loop.
Noort A, Dohmen M, and Bronsvoort WF (1998), Solving over- and underconstrained geometric models. In: Geometric Constraint Solving and Applications, Brüderlin B and Roller D (eds). Springer, Berlin, pp. 107-127.