Title: A case study in geometric constructions
1A case study in geometric constructions
- Pascal Schreck
- Étienne Schramm
LSIIT - Strasbourg French CNRS UPRES-A
7005 Strasbourg University (France)
2geometric constraint solving in CAD
sketch
construction program fix point A to (0,0) fix
straight line D to Ox B point on D at 8 cm from
A DÂ straight line passing through A
doing an angle of 100 with D C point on DÂ at
14 cm from A let D2 ? bisectors of D and DÂ let
D3 ? bisectors of D and (AC) O intersection of
D2 with D3 H orthogonal projection of O on D G
circle with centre O passing
through H ...
dimensions
gt figure(s) which respects the dimensions
or a way to construct it
3A simple framework
polygons
constraints on the edges
- length
- angle
it's a toy (but not trivial) example of geometric
constructions in CAD
Note the method presented is NOT the ultimate
perfect and absolute geometric solver!
4Plan
Some definitions
Classical approaches
Our simple geometric universe (polygons)
Algorithm, implementation
Conclusion
5Some definitions
- v(C) is nearly true (v(X) is at e from a true
solution)
the set of solutions is finite and not empty
- S is structurally well-constrained
combinatorial notion which meets the previous one
under some conditions
6Some definitions
A piece of software able to compute one or all
the solutions of a (geometric) constraint system
- correctness (of a solver) or e-correctness
The objects yield by the solver are really (or
e-) solutions.
All the solutions are found.
Whatever the numeric values of the parameters of
a parametric system, all the solutions are found.
7Classical works
- Numerical iterative approaches
- Newton-Raphson method (Nelson, Light et
al.) - Continuation method (Lamure Michelucci)
- Relaxation (Sutherland, Borning)
- Interval calculus (B. Neveu et al.)
8Classical works
- Combinatorial approaches
- Sunde (88) Verroust et al. (CD and CA-sets)
- Owen (92) (graph decomposition)
- Hoffmann et al. (93, 2001) (graph
aggregation or decomposition) - Ait et al. (93), D. Michelucci (perfect
matching, maximum flow)
general if associated with one of the above
numerical methods
9Classical works
(symbolic, constructive )
Formal approaches
(formal calculus)
Ritt-Wu decomposition, Gröbner bases (automatic
proof)
Lebesgue's method (Chen et al. 92)
(knowledge based systems)
Education Buthion (74), Schreck (92)
CAD Aldefeld, Brüderlin (88)
Mathis, Schreck and Dufourd (95, 97)
? yield exact solutions but slow
? generality ?
10Description of our geometric universe
Polygons
- Mathematical point of view
- Constructive point of view
description of a polygon by some lengths and
angles
- polygon constructive functions
- triangle functions
11Description of our geometric universe
Polygon constructive functions
Permutation function
n1
gn
Note this is NOT the parallelogram rule of
Verroust
12Description of our geometric universe
Triangle functions
t1 (l1, l2, l3) ?
- invariance by isometry
- invariance by direct isometry
(displacement or rigid body
motion)
- multi functions several results
- pseudo-functions l1-l2 ? l3 ? l1l2
13Description of our geometric universe
Simply constrained polygons
one constraint an ordered pair (n, l)
lengths
a set of ordered pairs L(n1, l1), , (nk, lk)
coherent (n, l) ? L and (m, k)? L ? k l
angles
one constraint a triple (n, m, a)
a set of triples i.e. a graph G
G is coherent if it has no circuit
constraint scheme S (L, G, m)
14Properties
In our case
a constraint scheme is well-constrained modulo
the displacements group if and only if it is
coherent and has 2n-3 constraints. We call it a
simply constrained polygon
at most n length constraints
at most n-1 angle constraints
we have three main cases
15Properties
In our case
a constraint scheme is well-constrained modulo
the displacements group if and only if it is
coherent and has 2n-3 constraints. We call it a
simply constrained polygon
at most n length constraints
at most n-1 angle constraints
we have three main cases considering the first
four edges
16Constructions
(example with the last case)
S
P''
g3(g2(P''))
17Constructions
algorithm
proc_1(S) simplify_1(S)
solve( )
build_1( )
coef_1(S),
computation of l' and "elimination" of an edge of
S
simplify_1(S)
application of f1,a,l to P (1, a, l coef)
build_1(coef, P)
computation of a "and l' "
coef_1(S)
proc_1(S) build_1(coef_1(S), solve(simplify_1(S)
))
18Correctness, complexity and implementation
Correctness the previous algorithm is correct
and complete wrt the simply
constrained polygons.
The previous algorithm has been efficiently
implemented using a stack in order to eliminate
the recursivity and a forest in order to
implement the angle graph.
The complexity is then linear.
The algorithm can be easily extended in order to
perform formal constructions.
19Conclusion
I presented a "toy" case study in geometric
construction
- it seems to us that it is a nice introduction
to the problem of geometric constructions in CAD.
But
- this framework introduce some of the basic
notions in this domain, and it points out some
fundamental difficulties.
- it leads to a correct, complete and efficient
solving algorithm for the simply constrained
polygons.
- it has never been the goal of this study, but
this framework could be extended using
"assembly" of polygons