Title: Robustness in CAD geometric construction
1Robustness in CAD geometric construction
- Pascal Schreck
- LSIIT - Strasbourg
- French CNRS UPRES-A 7005
- Strasbourg University
- (France)
2Geometric construction in CADExample
Declarative specification of the figure
Sketch
Construction program fix point B fix straight
line D define A on D and at 8 cm of B define
DÂ passing through B doing an angle
100 with D define C on DÂ at 14 cm of
B define D2 ? bisectors of D and DÂ define D3 ?
bisectors of D and (AC) define O intersection
of D2 and D3 define H orth projection of O onto
D define G circle with centre O passing
through H ...
Dimensions
Graphical figure (e solution)
gt figure(s) which respects the dimensions
or a way to construct it
3Plan
1. Example 2. Prior approaches 3. Correctness,
completeness, robustness 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
4Prior approaches (1)
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- Numerical iterative approaches
- Newton-Raphson (Nelson, Light et al.)
- Continuation method (Lamure Michelucci)
- Relaxation (Sutherland, Borning)
- Optimisation (Ge et al.)
5Prior approaches (2)
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- Combinatorial approaches
- Sunde (88) Verroust et al. (CD and CA-sets)
- Owen (92) (graph decomposition)
- Hoffman et al. (93) (graph agregation)
- Ait et al. (93) (perfect matching)
One solution
6Prior approaches (3)
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- Symbolic approaches
- Algebraic
- Ritt principle (Chou, Wu)
- Hörner Basis (Hendricson)
- Lebesgue method (Chen)
- Geometric
- without decomposition (Aldefeld,
Brüderlin) - with decomposition (Mathis and Schreck)
7Correctness, completeness(1)
- Correctness only solutions
- Completeness all the solutions
- Robustness all the solutions in all the cases
8Correctness, completeness(2)
Given two parallel lines D1 and D2, a point A on
D1, a point B on D2 and a point M, construct a
line d passing through M and cuting D1 at X and
D2 at Y such as AX BY k
-- Existence of different cases
9Correctness, completeness(3)
Introduce Z / AZ k AXBY (XZBY, XZYB
parallelogram)
M
If XZYB parallelogram then define O
midpoint of BZ define d (MO) -- (if M ?
O) Verify If XZBY parallelogram then
define dir direction of BZ define d
passing through M with direction dir Verify
A
Z
X
O
define O midpoint of BZ define d (MO)
B
Y
10Geometric universe
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
(1) Heterogeneous signature
- Sorts
- predicative symbols
- functional symbols
point, line, circle, length
is-onl point line is-onc point circle
length length point point
dist point point -gt length intercc circle
circle -gt point sline point point -gt line ccr
point length -gt circle
11Geometric universe
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
(2) Problems
intersection(s) of 2 circles bisectors...
intercc circle circle -gt point bis line
line -gt line
construction of the midpoint of (A,B) ?
intercc1circle circle -gt pointintercc2circle
circle -gt point
mid(A,B)interll( sline(A,B),
sline(intercc1(ccp(A,B)),
intercc2(ccp(B,A))) )
12Geometric universe
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
(3) More problems
mid(A,B)interll( sline(A,B),
sline(intercc1(ccp(A,B)),
intercc2(ccp(B,A))) )
intersection of 2 circlesline passing trough 2
points...
? preconditional axiom
? A point, B point, L line (A ? B)? A is-on
L ? B is-on L ? L sline(A, B)
13Construction program(1) Basic considerations
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
Given a construction statement
- Constructiblity of x Is there (at least) one
solution ? - Construction of x What are the solutions ?
14Construction program(2) Refinements
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
All the solutions ?
In all the cases ?
15Construction program(3) From logic to program
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
? and ?
if then else
? for multi-function
list and iteration
? for multi-scenario
case of
16Construction program(4) Small example
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
Intersection of two circles
Note ?(c1, c2) ? 0 lt r1-r2 ? dist(O1,O2) ?
r1r2
17Implementation (1)
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- partially implemented 2 prototypes
CAE Progé knowledge based system Written in
Prolog correctness, completeness
CAD Yams multi-agent system Written in
C resolution, efficiency
Not yet implemented
18Implementation (2)
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- taking preconditions into account
- using the guard associated with the basic
constructors (atributed signature) - examining the cases where preconditions are
satisfied and the cases where they are not
- a geometric prover able to make hypothesis
19Conclusion
1. Example 2. Prior approaches 3. Correctness,
completeness ... 4. Geometric universe 5.
Construction program 6. Implementation 7.
Conclusion
- a logical correct framework
- correctness, completeness and robustness of
constructions - partially implemented into two geometric
symbolic solvers - such a study should be useful within other
methods