Purdue e-Pubs

Computer Science Technical Reports Department of Computer Science

1993

A Geometric Constraint Solver

William Bouma Ioannis Fudos Christoph M. Hoffmann

Purdue University, cmh@cs.purdue.edu

Jiazhen Cai Robert Paige

Report Number:

93-054

Bouma, William; Fudos, Ioannis; Hoffmann, Christoph M.; Cai, Jiazhen; and Paige, Robert, "A Geometric Constraint Solver" (1993). Computer Science Technical Reports. Paper 1068. http://docs.lib.purdue.edu/cstech/1068

This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact epubs@purdue.edu for additional information.

A GEOMETRIC CONSTRAINT SOLVER

William Bouma

Ioannnis Fudos

Christoph Hoffmann Jillzhen Cai Robert Paige

eSD·TR·93·054

August 1993

A Geometric Constraint Solver

William BoumaIoannis Fuclos t Christollh Hoffmann· Department of Computer Science, Purdue University West Lafayette, IN 47907-1398

Jiazllen Cai1 Robert Paige} Department of Computer Science, Courant Institute 251 Mercer Str., New York, NY 10012

Report CSD_'rlt_n.05t, Aug .. ' 19931

Abstract

We report on the development of a two-dimensional geometric COllstraint solver. The solver is a major component of a lIew 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. Theil) we discuss ill detail holV to extend the scope of the solver, with special emphasis placed all the theoretical alld human fadors involved in finding a solution - in an eXJlonenlially large search space - so that the solution is appropriate to the application and the way offincling it is intuitive to an untrained user.

·Supported in part by ONR contract N00014-90-J-1599, by NSF' Granl COA 92-2.'3.502, and by NSF Grant ECD 88-03017. lSupported by a David Ross fellowship. ISupportcd in part by DNR contract NOOOl4-90-J-1890, by AFDSR ~ralLt 91-0308, and by NSF grant MIP 93-00210. §This report and others are available via anonymous ftp to artlulT.cs.purdue.edu, i.ll directory pub/emit and subsidiaries

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 ~etleral 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 geometrie modeling community has considered the problem for the purpose of developing sketching systems ill which a rough sketch, annotated with dimension and constraints, is instantiated to satisfy all constraints. This work will be reviewed in the next section. The applications of this approach aTe in mechanical engineering, and, especially, in manufacturing. With this work, we have mainly manufacturing applications in mind. Our purposes aud goals are as foUows: 1. We develop a constraint solver in which the information flow between the

user interface and the underlying solver ho can expect that a sketch is at least topologically accurate, so that obscrving on which side of an oriented line a specific point lies in the sketc.h is often reliably indicating where it should be in the final solution. HowevPf, when generic designs are archived and and later edited, one should no longer expect such simple correspondences between the sketch and the ultimate solution, because as dimension values change, so may the side ofa line on which a voint is situatey placing lhe center. In such cases, the tangency rule takes precedence. In aliI' experiments with thE'se rules, we found that most situations are solved as the user would exped. The rules arc easy to implement, and are easy to un(lerstand for the user.

5.3.2...