## A Geometric Constraint Solver (1995)

Citations: | 61 - 9 self |

### BibTeX

@MISC{Bouma95ageometric,

author = {William Bouma and Ioannis Fudos and Christoph Hoffmann and Jiazhen Cai and Robert Paige},

title = {A Geometric Constraint Solver},

year = {1995}

}

### Years of Citing Articles

### OpenURL

### Abstract

We report on the development of a two-dimensional geometric constraint solver. The solver is a major component of a new generation of CAD systems that we are developing based on a high-level geometry representation. The solver uses a graph-reduction directed algebraic approach, and achieves interactive speed. We describe the architecture of the solver and its basic capabilities. Then, we discuss in detail how to extend the scope of the solver, with special emphasis placed on the theoretical and human factors involved in finding a solution --- in an exponentially large search space --- so that the solution is appropriate to the application and the way of finding it is intuitive to an untrained user. 1 Introduction Solving a system of geometric constraints is a problem that has been considered by several communities, and using different approaches. For example, the symbolic computation community has considered the general problem, in the Supported in part by ONR contract N00014-90-J-...

### Citations

1495 | The C++ Programming Language
- Stroustrup
- 1987
(Show Context)
Citation Context ...ated. 9 3.2 System Implementation The two-dimensional geometrical design system has two main components, a graphical interface and a constraint solver engine. The graphical interface is a C++ program =-=[49]-=- that interacts with X Windows in order to allow the user to sketch a drawing using labeled points, lines, circles, etc. The user is also expected to supply initial constraints between these geometric... |

1065 |
Principles of Database and Knowledgebase Systems II: The New Technologies
- Ullman
- 1989
(Show Context)
Citation Context ...ute grammar approach [28] that is used in the Synthesizer Generator. APTS uses a logic-based approach to semantics in which semantic rules that define relations are written in a Datalog-like language =-=[54, 39]-=- but with the full expressive power of Prolog [18]. These rules are written independently of the individual grammar productions and without reference to the parse tree structure. They define relations... |

526 | Sketchpad: A man-machine graphical communication system
- SUTHERLAND
- 1963
(Show Context)
Citation Context ...e initial sketch is only topologically correct, or when the solver locks into a solution that is unsuited to the application and has no method with which to find more suitable alternatives. Sketchpad =-=[51]-=- was the first system to use the method of numerical relaxation. Relaxation is slow but quite general. Many systems like ThingLab [3] and Magritte [22] can do relaxation as an alternative to some othe... |

494 |
Simple word problems in universal algebras
- Knuth, Bendix
- 1970
(Show Context)
Citation Context ...extensive computations searching and matching rewrite rules constitute a liability. Bruderlin and Sohrt [6, 46] solve constraints in this way and incorporate the Knuth-Bendix critical-pairs algorithm =-=[29]-=-. They show that their method is correct and solves all problems that can be constructed using ruler and compass. The method can also be proved to confirm geometric theorems that are provable in their... |

448 |
Semantics of context-free languages
- Knuth
- 1968
(Show Context)
Citation Context ...le uniform formalism for lexical analysis, syntactic analysis, and prettyprinting. However, the semantic formalism in APTS has several advantages over the more conventional attribute grammar approach =-=[28]-=- that is used in the Synthesizer Generator. APTS uses a logic-based approach to semantics in which semantic rules that define relations are written in a Datalog-like language [54, 39] but with the ful... |

348 |
Gröbner Bases: An algorithmic method in polynomial ideal theory, in Multidimensional System Theory (N.K.Bose et al.,Eds
- Buchberger
- 1985
(Show Context)
Citation Context ...ons. The methods have also been used in mechanical geometry theorem proving [16, 17, 15, 26]. In [30, 31], Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm =-=[7, 8]-=- to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solver Figure 1: Architecture of the Constraint Solver relationship between the deleted and added constraints. 2.5 Hyb... |

205 |
Ein algorithmus zum auffinden der basiselemente des restklassenringes nach einem nulldimensionalen polynomideal
- Buchberger
(Show Context)
Citation Context ...ons. The methods have also been used in mechanical geometry theorem proving [16, 17, 15, 26]. In [30, 31], Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm =-=[7, 8]-=- to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solver Figure 1: Architecture of the Constraint Solver relationship between the deleted and added constraints. 2.5 Hyb... |

195 |
The progamming language aspects of ThingLab, a constraint-oriented simulation laboratory
- Borning
- 1986
(Show Context)
Citation Context ...o method with which to find more suitable alternatives. Sketchpad [51] was the first system to use the method of numerical relaxation. Relaxation is slow but quite general. Many systems like ThingLab =-=[3]-=- and Magritte [22] can do relaxation as an alternative to some other method. In [2] a projection method is presented for finding a new solution that minimizes the Euclidean distance between the old an... |

179 |
Yacc: Yet another compiler compiler
- Johnson
- 1979
(Show Context)
Citation Context ...and systems for developing specific tools for experimenting conveniently with a variety of ideas and approaches to constraint solving. Aside from well-known special purpose tools such as LEX and Yacc =-=[25]-=-, our constraint solver also makes use of the high level language SETL2 [45] to specify complex combinatorial algorithms and the transformational system APTS [12] to perform syntactic analysis and sym... |

152 |
Programming with sets; an introduction to SETL
- Schwartz, Dewar, et al.
- 1986
(Show Context)
Citation Context ... to us, but a proper evaluation requires extensive labor-intensive computational experiments. The ease with which complex combinatorial algorithms can be implemented and modified in the SETL language =-=[44]-=- is well known. Snyder's new SETL2 language [45] significantly improves SETL in regard to its convenience in algorithm specification, its compile- and run-time reliability and performance, and its por... |

137 | Geometric & Solid Modeling - Hoffmann - 1989 |

136 | CENTAUR: The System
- Borras, Clement, et al.
- 1988
(Show Context)
Citation Context ...mational capabilities of APTS [12] are well suited to a flexible, experimental development of a logical framework with an evolving Erep language and corresponding solver. Like systems such as Centaur =-=[4]-=- the Synthesizer Generator [42], and Refine [41], APTS has a single uniform formalism for lexical analysis, syntactic analysis, and prettyprinting. However, the semantic formalism in APTS has several ... |

120 |
The Synthesizer Generator
- Reps, Teitelbaum
- 1989
(Show Context)
Citation Context ...[12] are well suited to a flexible, experimental development of a logical framework with an evolving Erep language and corresponding solver. Like systems such as Centaur [4] the Synthesizer Generator =-=[42]-=-, and Refine [41], APTS has a single uniform formalism for lexical analysis, syntactic analysis, and prettyprinting. However, the semantic formalism in APTS has several advantages over the more conven... |

82 |
Algebraic solution for geometry from dimensional constraints
- Owen
- 1991
(Show Context)
Citation Context ...Requicha [43]. Only horizontal and vertical distances are allowed in this method and so the applicability of the method is limited. Todd in [53] generalized the dimension 5 trees of Requicha. Owen in =-=[38]-=- presents an extension of this principle to include circularly dimensioned sketches, and DCM [19] is a commercial constraint solver using this method. Since our basic algorithm is based on many of the... |

74 |
CONSTRAINTS: a language for expressing almost-hierarchical descriptions
- Sussman, Jr, et al.
- 1980
(Show Context)
Citation Context ...s and therefore make the method slightly more powerful than pure propagation of degrees of freedom. Both methods are global, unstable, and do not work for cyclically dimensioned sketches. CONSTRAINTS =-=[48]-=- uses retraction, which is a localized version of propagation of known values that stores information about each variable's interdependencies. A similar technique is used in [34]: First, known values ... |

70 | Energy constraints on parameterized models
- Witkin, Fleischer, et al.
- 1987
(Show Context)
Citation Context ...it may help the user make modifications if the solver fails. A method that represents constraints by an energy function and then searches for a local minimum using the energy gradient is presented in =-=[56]-=-. 2.2 Constructive Constraint Solvers This class of constraint solvers is based on the fact that most configurations in an engineering drawing are solvable by ruler, compass and protractor, or using a... |

58 |
Constraint programming languages. Their specification and generation
- Leler
- 1988
(Show Context)
Citation Context ...be solved in turn, initially only from the constants. To succeed, various propagation techniques have been tried, but none of them is guaranteed to derive a solution when one exists. For a review see =-=[33, 46]-=-. Sketchpad [51] uses propagation of degrees of freedom and propagation of known values. Pro/ENGINEER [5, 40] uses propagation of known values. Propagation of known values is the inverse process of th... |

57 | Solving Geometric Constraint Systems
- Kramer
- 1992
(Show Context)
Citation Context ...itional rules and transformations that can be applied to the constraint graph in order to extend the scope of the basic algorithm. In many cases, the graph reduction requires linear time only. Kramer =-=[32]-=- uses a similar approach. However, instead of determining the equations of the geometric elements at each construction step, Kramer determines coordinate transformations that successively place points... |

45 |
Using meta-level inference for selective application of multiple rewrite rules in algebraic manipulation
- Bundy, Welham
- 1981
(Show Context)
Citation Context ...tailed description of a complete set of rules for 2D design can be found in [55], where the scope of the rules is also characterized. Finally, a technique called Meta-level Inference is introduced in =-=[10]-=-. The paper claims that this technique, combined with multiple sets of rules and their selective application, reduces the search space. The method has been applied in PRESS [10], a program for algebra... |

45 |
Erep, an editable, high-level representation for geometric design and analysis
- Hoffmann, Juan
- 1992
(Show Context)
Citation Context ... a representation becomes the basis for archiving sketches in a neutral format, with the ability to retrieve the archived sketch and edit it --- possibly in a different system with a different solver =-=[24, 23]-=-. Our solution is also a building block for a larger project of developing a new generation of CAD systems based on a neutral, high-level geometry representation that expresses design intent and prese... |

43 |
a constraint-based graphics system
- Juno
- 1985
(Show Context)
Citation Context ...mber of systems, and is faster than relaxation, but it may converge to the wrong solution. Unfortunately, when this happens, the user has no recourse to instruct the solver to find alternatives. Juno =-=[37]-=- uses the original sketch as initial state. The CPSM system of Solano and Brunet [47] also uses a numerical solver that first deals with sequential constraints and then solves circularly interdependen... |

42 |
Modification of Geometric Models through Variational Geometry
- Light, Gossard
- 1982
(Show Context)
Citation Context ...lano and Brunet [47] also uses a numerical solver that first deals with sequential constraints and then solves circularly interdependent constraints. A modification of Newton-Raphson was developed in =-=[35]-=-, where an improved way for finding the inverse Jacobi matrix is presented. Furthermore, the paper proposes dividing the constraint matrix into submatrices, with the potential of providing the user wi... |

35 |
Algebraic method for manipulation of dimensional relationships in geometric models
- Kondo
- 1992
(Show Context)
Citation Context ...], or the Wu-Ritt method [57, 14]. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving [16, 17, 15, 26]. In =-=[30, 31]-=-, Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm [7, 8] to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solver Figure 1: ... |

34 |
Geometric and Solid Modeling
- mann
- 1989
(Show Context)
Citation Context ...straint Solver 2.4 Symbolic Constraint Solvers The constraints are translated into a system of algebraic equations. The system is solved with symbolic algebraic methods, such asGrobner's bases, e.g., =-=[5, 11]-=-, or the Wu-Ritt method, e.g., [34, 8]. Both methods can solve general nonlinear systems of algebraic equations, but may require exponential running times. In [17, 18], Kondo considers the addition an... |

31 |
Algebraic Constraints
- Gosling
- 1983
(Show Context)
Citation Context ...ch to find more suitable alternatives. Sketchpad [51] was the first system to use the method of numerical relaxation. Relaxation is slow but quite general. Many systems like ThingLab [3] and Magritte =-=[22]-=- can do relaxation as an alternative to some other method. In [2] a projection method is presented for finding a new solution that minimizes the Euclidean distance between the old and the new solution... |

31 | Correctness proof of a geometric constraint solver
- Fudos, Hoffmann
- 1996
(Show Context)
Citation Context ... techniques for extending the capabilities of the solver while preserving interactive speed, and (c) a rigorous correctness proof of the solver. Note that the correctness proof is reported separately =-=[10]-=-. This paper reports substantial progress in all three problem dimensions, and identi es a number of open issues that remain. 2s2 Approaches to Geometric Constraint Solving We consider only well-const... |

27 | The SETL2 programming language
- Snyder
- 1990
(Show Context)
Citation Context ...h a variety of ideas and approaches to constraint solving. Aside from well-known special purpose tools such as LEX and Yacc [25], our constraint solver also makes use of the high level language SETL2 =-=[45]-=- to specify complex combinatorial algorithms and the transformational system APTS [12] to perform syntactic analysis and symbolic manipulation of geometrical constraint specifications. 3. We study a n... |

24 |
A book of curves
- Lockwood
- 1961
(Show Context)
Citation Context ...wo of the three constraints govern the relative motion between the two clusters. Particularly in the case of point loci, classical curves are obtained that are described in the literature; see, e.g., =-=[36]-=-, or the literature on plane kinematics. The curve of subcase 2 above, with d 2 = 0, is a conchoid of a line. In Figure 15 a segment end is constrained to a circle and the segment incident to a fixed ... |

23 |
Variations of geometries based on a geometric-reasoning method
- Aldefeld
- 1988
(Show Context)
Citation Context ...ented an experimental constraint solving system in Prolog. They do not address how to devise rules for determining automatically which of the possible solutions is the one the user intended. Aldefeld =-=[1]-=- uses a forward chaining inference mechanism. He assumes that lines are directed, and formulates additional rules that restrict the number of possible solutions. A similar method is presented in [52],... |

23 |
Constructing three-dimensional geometric object defined by constraints
- Bruderlin
- 1986
(Show Context)
Citation Context ...ic Programming style of programming is a good approach for prototyping and experimentation, the extensive computations searching and matching rewrite rules constitute a liability. Bruderlin and Sohrt =-=[6, 46]-=- solve constraints in this way and incorporate the Knuth-Bendix critical-pairs algorithm [29]. They show that their method is correct and solves all problems that can be constructed using ruler and co... |

20 |
Specification of shapes by dimensions and other geometric constraints
- Sunde
- 1986
(Show Context)
Citation Context ...onal rules that restrict the number of possible solutions. A similar method is presented in [52], where handling of overconstrained and underconstrained cases is given special consideration. Sunde in =-=[50]-=- also uses a rule-constructive method but has different rules for representing directed distance and undirected distance, thus adding flexibility for dealing with the root identification problem discu... |

19 |
Towards increased productivity of algorithm implementation
- Cai, Paige
- 1993
(Show Context)
Citation Context ...th surprising speed. In the future we also hope to make use of a promising new technology, just now being reported, for mechanically transforming prototype SETL2 programs into high performance C code =-=[13]-=-. Another major part of our research develops a logical framework for specifying and solving 2-dimensional geometric constraints. The Erep language provides a formal syntax and semantics essential to ... |

19 |
Rule-oriented Method for Parameterized Computer-aided Design
- Verroust, Schonek, et al.
- 1992
(Show Context)
Citation Context ...Section 5. In [58] the problem of nonunique solutions is handled by imposing an order on triples of geometric elements. A detailed description of a complete set of rules for 2D design can be found in =-=[55]-=-, where the scope of the rules is also characterized. Finally, a technique called Meta-level Inference is introduced in [10]. The paper claims that this technique, combined with multiple sets of rules... |

17 |
On the Semantics of Generative Geometry Representations
- Hoffmann
- 1993
(Show Context)
Citation Context ... a representation becomes the basis for archiving sketches in a neutral format, with the ability to retrieve the archived sketch and edit it --- possibly in a different system with a different solver =-=[24, 23]-=-. Our solution is also a building block for a larger project of developing a new generation of CAD systems based on a neutral, high-level geometry representation that expresses design intent and prese... |

17 |
Basic principles of mechanical theorem proving in geometries
- Wen-Tsun
- 1984
(Show Context)
Citation Context ...onstraint Solvers The constraints are transformed into a system of algebraic equations. The system is solved with symbolic algebraic methods, such as Grobner's bases, e.g., [9], or the Wu-Ritt method =-=[57, 14]-=-. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving [16, 17, 15, 26]. In [30, 31], Kondo considers the add... |

16 |
A k-tree generalization that characterizes consistency of dimensioned engineering drawings
- Todd
- 1989
(Show Context)
Citation Context ...itzgerald [20] follows the approach of dimensioned trees by Requicha [43]. Only horizontal and vertical distances are allowed in this method and so the applicability of the method is limited. Todd in =-=[53]-=- generalized the dimension 5 trees of Requicha. Owen in [38] presents an extension of this principle to include circularly dimensioned sketches, and DCM [19] is a commercial constraint solver using th... |

15 |
A Refutational Approach to Geometry Theorem Proving
- Kapur
- 1988
(Show Context)
Citation Context ...mbolic computation community has considered the general problem, in the context of automatically deriving and proving theorems from analytic geometry, and applying these techniques to vision problems =-=[9, 14, 26, 27]-=-. The geometric modeling community has considered the problem for the purpose of developing sketching systems in which a rough sketch, annotated with dimension and constraints, is instantiated to sati... |

13 |
Algebraic Methods for Geometric Reasoning
- Buchberger, Collins, et al.
- 1988
(Show Context)
Citation Context ...mbolic computation community has considered the general problem, in the context of automatically deriving and proving theorems from analytic geometry, and applying these techniques to vision problems =-=[9, 14, 26, 27]-=-. The geometric modeling community has considered the problem for the purpose of developing sketching systems in which a rough sketch, annotated with dimension and constraints, is instantiated to sati... |

13 | Editable representations for 2d geometric design
- Fudos
- 1993
(Show Context)
Citation Context ... constraint solvers use a combination of these methods. To satisfy editorial requirements, our review is very brief. For a more detailed analysis of the extensive prior work on constraint solving see =-=[9]-=-. 2.1 Numerical Constraint Solvers In numerical constraint solvers, the constraints are translated into a system of equations and are solved using an iterative method. When based on Newton iteration, ... |

11 |
PIGMOD: Parametric and Interactive Geometric Modeller for Mechanical Design, Computer-Aided Design 22
- Kondo
- 1990
(Show Context)
Citation Context ...], or the Wu-Ritt method [57, 14]. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving [16, 17, 15, 26]. In =-=[30, 31]-=-, Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm [7, 8] to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solver Figure 1: ... |

10 |
Mechanical Theorem Proving
- Chou
- 1988
(Show Context)
Citation Context ...mbolic computation community has considered the general problem, in the context of automatically deriving and proving theorems from analytic geometry, and applying these techniques to vision problems =-=[9, 14, 26, 27]-=-. The geometric modeling community has considered the problem for the purpose of developing sketching systems in which a rough sketch, annotated with dimension and constraints, is instantiated to sati... |

9 |
An introduction to Wu’s method for mechanical theorem proving in geometry
- Chou
- 1988
(Show Context)
Citation Context ...ner's bases, e.g., [9], or the Wu-Ritt method [57, 14]. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving =-=[16, 17, 15, 26]-=-. In [30, 31], Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm [7, 8] to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solv... |

9 |
Proving Geometry Theorems with Rewrite Rules
- Chou, Schelter
- 1986
(Show Context)
Citation Context ...ner's bases, e.g., [9], or the Wu-Ritt method [57, 14]. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving =-=[16, 17, 15, 26]-=-. In [30, 31], Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm [7, 8] to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solv... |

9 |
Wu’s method and its application to perspective viewing
- Kapur, Mundy
- 1989
(Show Context)
Citation Context |

8 | Type Transformation and Data Structure Choice
- Cai, Facon, et al.
- 1991
(Show Context)
Citation Context ...al purpose tools such as LEX and Yacc [25], our constraint solver also makes use of the high level language SETL2 [45] to specify complex combinatorial algorithms and the transformational system APTS =-=[12]-=- to perform syntactic analysis and symbolic manipulation of geometrical constraint specifications. 3. We study a number of neglected aspects of constraint solving, in particular the process of redirec... |

7 |
A graphical, language-based editor for generic solid models represented by constraints
- Barford
- 1987
(Show Context)
Citation Context ...t system to use the method of numerical relaxation. Relaxation is slow but quite general. Many systems like ThingLab [3] and Magritte [22] can do relaxation as an alternative to some other method. In =-=[2]-=- a projection method is presented for finding a new solution that minimizes the Euclidean distance between the old and the new solution. Newton-Raphson iteration has been used in a number of systems, ... |

7 |
A Method for Mechanical Derivation of Formulas in Elementary Geometry
- Chou
- 1987
(Show Context)
Citation Context ...ner's bases, e.g., [9], or the Wu-Ritt method [57, 14]. Both methods can solve general nonlinear systems of algebraic equations. The methods have also been used in mechanical geometry theorem proving =-=[16, 17, 15, 26]-=-. In [30, 31], Kondo considers the addition and deletion of constraints by using the Buchberger's Algorithm [7, 8] to derive a polynomial that gives the 7 Graphical User Interface Erep Constraint Solv... |

7 |
A Constraint Modeling System for Variational Geometry
- Yamaguchi, Kimura
- 1988
(Show Context)
Citation Context ...tructive method but has different rules for representing directed distance and undirected distance, thus adding flexibility for dealing with the root identification problem discussed in Section 5. In =-=[58]-=- the problem of nonunique solutions is handled by imposing an order on triples of geometric elements. A detailed description of a complete set of rules for 2D design can be found in [55], where the sc... |

6 |
Interaction with Constraints in three-dimensional Modeling
- Sohrt
- 1991
(Show Context)
Citation Context ...ic Programming style of programming is a good approach for prototyping and experimentation, the extensive computations searching and matching rewrite rules constitute a liability. Bruderlin and Sohrt =-=[6, 46]-=- solve constraints in this way and incorporate the Knuth-Bendix critical-pairs algorithm [29]. They show that their method is correct and solves all problems that can be constructed using ruler and co... |

5 | A Language for Semantic Analysis
- Cai
- 1993
(Show Context)
Citation Context ...urrently available, the inference and rewriting engines used to compute and maintain semantic relations involve the use of such highly efficient algorithms that the observed performance is reasonable =-=[11]-=-. In contrast to Refine, implemented in Common Lisp, APTS is portable to a wide variety of machines and operating systems and, in particular, to any UNIX platform. 11 4 Solver Algorithmics and Extensi... |