Download presentation
Presentation is loading. Please wait.
Published byRuth Hodges Modified over 9 years ago
1
1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric computations for Computer Aided Design André Lieutier practices and formalization
2
2 ECG Saarbrücken Robustness issues & CAD André Lieutier summary 1.Part 1: (practice) –BRep Model and Operators for Solid Modelling (focus on robustness) –Rounding is unavoidable 2.Part 2: (theory) –Recursive analysis –Domain theory for Geometric Computations
3
3 ECG Saarbrücken Robustness issues & CAD André Lieutier BRep Model and Operators for Solid Modelling (focus on robustness) Curves and Surfaces for Solid Modelling Boundary Representation (BRep) Operators on BRep Data Exchange and PLM An art or a science ??
4
4 ECG Saarbrücken Robustness issues & CAD André Lieutier Curves and Surfaces for Solid Modelling Piecewise Polynomial and rational Trigonometric and primitives Offset surfaces Subdivision Abstract data type Functions
5
5 ECG Saarbrücken Robustness issues & CAD André Lieutier Piecewise polynomial and rational curves and surfaces Given by the NURBS knots and poles in floating point
6
6 ECG Saarbrücken Robustness issues & CAD André Lieutier Trigonometric Planes, Conics, 3D Quadrics, Torus (cyclids ?) Surface of revolution and ruled surfaces
7
7 ECG Saarbrücken Robustness issues & CAD André Lieutier Offset surfaces Given by an abstract Surface + an Offset Value
8
8 ECG Saarbrücken Robustness issues & CAD André Lieutier Subdivision surfaces Cadmull-Clark or Loop Schemes Finite number of extraordinary vertices, Piecewise polynomial if one excludes an arbitrary small neighbourhood of the extraordinary vertices.
9
9 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions Large scale software development Specific curves ands surfaces formalisms Technical/commercial pressure for new curves and surfaces formalisms Need for generic algorithms
10
10 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions Parametric Curves and surfaces are represented by abstract functions of one or two variables An abstract function must be able to evaluate itself for a floating point or a floating point interval number. Algorithm use these functions through an abstract data type
11
11 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions
12
12 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions
13
13 ECG Saarbrücken Robustness issues & CAD André Lieutier Boundary Representation (BRep) Recursive definition Up to epsilon Consistency Variational Design
14
14 ECG Saarbrücken Robustness issues & CAD André Lieutier Boundary Representation (BRep) 0-dimensional BRep 1-dimensional BRep 2-dimensional BRep 3-dimensional BRep
15
15 ECG Saarbrücken Robustness issues & CAD André Lieutier 1-dimensional BRep in R : in R 2 or R 3 BRep 0D
16
16 ECG Saarbrücken Robustness issues & CAD André Lieutier 2-dimensional BRep in R 2 : in R 2 or R 3 BRep 1D
17
17 ECG Saarbrücken Robustness issues & CAD André Lieutier 3-dimensional BRep in R 3 BRep 2D
18
18 ECG Saarbrücken Robustness issues & CAD André Lieutier Up to Epsilon consistency 2 rational parametric surfaces does not intersect on a rational parametric curve Consistency holds up to some accuracy..
19
19 ECG Saarbrücken Robustness issues & CAD André Lieutier Operators on BRep Up to Epsilon programming Join Operator Boolean Operator Offset Operator
20
20 ECG Saarbrücken Robustness issues & CAD André Lieutier Up to Epsilon programming Numerical analysis gives the illusion of the real RAM.. (cf. Blum,Shub,Smale.) Up to epsilon programming = Real RAM paradigm for the global understanding uncertainty management near discontinuities change of coordinates.. (projective space,...)
21
21 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
22
22 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
23
23 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
24
24 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
25
25 ECG Saarbrücken Robustness issues & CAD André Lieutier Boolean Operator Pres. surface intersection Demo...
26
26 ECG Saarbrücken Robustness issues & CAD André Lieutier Surfaces intersection in CAD
27
27 ECG Saarbrücken Robustness issues & CAD André Lieutier Marching algorithms
28
28 ECG Saarbrücken Robustness issues & CAD André Lieutier Marching algorithms
29
29 ECG Saarbrücken Robustness issues & CAD André Lieutier ODE like marching step Euler
30
30 ECG Saarbrücken Robustness issues & CAD André Lieutier Newton step
31
31 ECG Saarbrücken Robustness issues & CAD André Lieutier Marching algorithms
32
The kernel of the first derivative is 1 dimensional a regular points Generally, only 2-dimensional kernels are considered Singularities
33
33 ECG Saarbrücken Robustness issues & CAD André Lieutier Flaws High order singularities “flat”, almost zero functions : What is the zero set of ? Answer :
34
34 ECG Saarbrücken Robustness issues & CAD André Lieutier Flaws (2) Non punctual singularities
35
35 ECG Saarbrücken Robustness issues & CAD André Lieutier Topological consistency
36
36 ECG Saarbrücken Robustness issues & CAD André Lieutier Art or Science ?? It seems not so hard.. OK, you can fix that... but is it a bug ? By the way, is it possible to fix all the cases with a finite program ?
37
37 ECG Saarbrücken Robustness issues & CAD André Lieutier Data Exchange and PLM IGES, STEP, etc.. Product Lifecycle Management
38
38 ECG Saarbrücken Robustness issues & CAD André Lieutier Data Exchange and PLM
39
39 ECG Saarbrücken Robustness issues & CAD André Lieutier Digital Mockup based approach DIGITALIZATION Physical Mockup based approach DIGITAL SKETCH MANUAL SKETCH STRUCTURAL SHAPES STYLE ENGINEERING (CLASS A) REVERSE ENGINEERING ARTIST STYLING EXPLORATION CONCEPTUAL MODELING (architecture based on marketing specifications) ARTIST STYLING REFINEMENT computations and physical interactions TOOLING
40
40 ECG Saarbrücken Robustness issues & CAD André Lieutier computations and physical interactions Manufacturing
41
41 ECG Saarbrücken Robustness issues & CAD André Lieutier Multi CAD Integration CADz IGES CATIA Deneb STL Vrml DMU Navigator Step CADy SolidWorks CAD x NCG M Strim/Styler new IGES
42
42 ECG Saarbrücken Robustness issues & CAD André Lieutier Infinite depth of computation..
43
43 ECG Saarbrücken Robustness issues & CAD André Lieutier Exact computation paradigm is nice but... Exact Computation Paradigm is for local computations Let us try applying it on the whole process.. Class of numbers fixed length numbers integers and rational numbers algebraic numbers computable real numbers (covers future formalisms !) Arithmetic versus Geometric rounding
44
44 ECG Saarbrücken Robustness issues & CAD André Lieutier Exact Computation Paradigm is for local computations Exact predicates are successfully used !! avoid internal discontinuities....for a finite and reasonable depth of computation
45
45 ECG Saarbrücken Robustness issues & CAD André Lieutier Let us try exact computation on the whole process.. Meshing + Volume computation Meshing + FEM Boolean operation+ Meshing + FEM Rotation+Boolean operation..
46
46 ECG Saarbrücken Robustness issues & CAD André Lieutier Class of numbers Fixed length numbers Integers and rational numbers Algebraic numbers Computable real numbers : equality is semi-decidable computable =>continuous
47
47 ECG Saarbrücken Robustness issues & CAD André Lieutier What is Rounding ? dyadic Rounding is required x = intersection of a nested sequence of dyadic intervals x y= sqrt(x) real number
48
48 ECG Saarbrücken Robustness issues & CAD André Lieutier Arithmetic versus Geometric rounding Naive arithmetic rounding Interval arithmetic Geometric rounding Deterministic and non deterministic rounding Interval Curves, Surfaces and BRep
49
49 ECG Saarbrücken Robustness issues & CAD André Lieutier Geometric Rounding Geometrical Rounding Finite representations Integer RAM Real RAM Usual Analysis and real Geometry Recursive analysis “Domain Theoretic” real Geometry
50
50 ECG Saarbrücken Robustness issues & CAD André Lieutier Geometric Rounding Very important topic for Computational Geometry, few papers
51
51 ECG Saarbrücken Robustness issues & CAD André Lieutier data type for infinite depth geometric modelling 1.computations on countable approximations (here exact computation paradigm helps for discontinuous maps..) 2.geometric and combinatorial rounding procedures consistent with the topology (not necessarily deterministic)
52
52 ECG Saarbrücken Robustness issues & CAD André Lieutier Part 2 Recursive analysis and Domain Theory for Geometric Computations
53
53 ECG Saarbrücken Robustness issues & CAD André Lieutier Turing Computability 1) countable sets The notion of computability can be defined for example with Turing machine or general purpose programming languages Actual computers, as well as Turing machines, deal with finite data only The set of finite words over a finite alphabet is countable Recall : a set is said countable if it has the cardinality of N
54
54 ECG Saarbrücken Robustness issues & CAD André Lieutier Turing Computability 1) countable sets Usual Turing computability consider input and output as elements of a countable set, such as: – integers, dyadic, rational, algebraic numbers, – piecewise rational or more generally finite evaluation trees functions defined with such coefficients, – finite combinatorial structures A problem is said computable if there exists a Turing Machine able, being given any admissible input, to answer the correct output after a finite time.
55
55 ECG Saarbrücken Robustness issues & CAD André Lieutier Turing Computability 2) uncountable sets For uncountable sets with the cardinality of R, the notion of Turing computability comes with a topology or a metric : –Example : R, R n, C k, L p, (K,d H ), etc... –need a dense countable subset for metric spaces –countable base of neighbourhoods for general topology
56
56 ECG Saarbrücken Robustness issues & CAD André Lieutier Turing Computability on countable sets (2) A sequence (n i ) of integers is said computable if there exists a Turing machine (a program if you prefer) that, given any integer i given as input, is able to compute (n i ) after a finite time. This notion extends to any countable set as far as a computable enumeration of the set is given. Such an enumeration exists for dyadic numbers.
57
57 ECG Saarbrücken Robustness issues & CAD André Lieutier Turing Computability (2): uncountable sets Let us consider the number . Even if it belongs to the uncountable set of real numbers, it is Turing computable, that is: there exists a program that, given any integer i as input, computes a dyadic number d i such that: | - d i | < 2 -i
58
58 ECG Saarbrücken Robustness issues & CAD André Lieutier Semi-computable real numbers A real number x is said lower semi-computable if it is the least upper bound of a computable sequence of dyadic numbers: x =sup {d i, i N } A real number x is said upper semi-computable if it is the greatest lower bound of a computable sequence of dyadic numbers: x =inf {d i, i N }
59
59 ECG Saarbrücken Robustness issues & CAD André Lieutier Computable real numbers A real number is said computable if it is both lower and upper semi-computable. Equivalently, a real number x is computable if and only if there exists a computable sequence of dyadic numbers d i such that: |x - d i | < 2 -i The set of computable real numbers is countable. However, you have probably never met a non computable real number !
60
60 ECG Saarbrücken Robustness issues & CAD André Lieutier A non computable semi- computable real numbers a i is a computable increasing sequence of dyadic numbers and x is the limit of (a i ) but x is not computable.
61
61 ECG Saarbrücken Robustness issues & CAD André Lieutier Recursive analysis Recursive analysis is the discipline examining computability (and complexity) in the Turing model of computation for real numbers, real functions, and, more generally, elements of uncountable sets. (Marian.B. Pour-El, K Weihrauch, V. Brattka,P. Hertling ) In this framework, inputs and outputs are represented by infinite approximating sequences (approximating for a given metric or topology). The approximations belong to a dense and countable subset (for which finite representations exist).
62
62 ECG Saarbrücken Robustness issues & CAD André Lieutier recursive analysis The predicate, for any (computable) real number x : x == 0 is semi-decidable two meanings : topology (sequence of approximation of real numbers) computability ( halting problem !) Modèles de calcul
63
63 ECG Saarbrücken Robustness issues & CAD André Lieutier F computable => F continuous Input Output x 1 x 2 x 3. lim x i F(x 1 ) F(x 2 ) F(x 3 ). lim F(x i ) F =?
64
64 ECG Saarbrücken Robustness issues & CAD André Lieutier Domains A domain is a mathematical structure for data types or operators representing incomplete or uncertain information.(Dana Scott, Abbas Edalat) It is a partially ordered set (D, ) where the partial order corresponds to some notion of information. “A B” means “the information represented by A is contained in the information represented by B”.
65
65 ECG Saarbrücken Robustness issues & CAD André Lieutier Domains The natural topology of continuous domains, called Scott topology, is upward closed (any increasing sequence has a lub) A map between domain is Scott continuous iff it is increasing and preserves lub Point fix theorems (comes from –calulus) Efficient to define the best continuous approximation of a given map
66
66 ECG Saarbrücken Robustness issues & CAD André Lieutier The Boolean domain An example is the Boolean domain {true, false, } of the Boolean values true and false together with a least element (“bottom”) below both. One thinks of here as the undefined Boolean value that represents “no information at all”. truefalse Any open set containing contains the whole set {true, false, }
67
67 ECG Saarbrücken Robustness issues & CAD André Lieutier The Interval domain (1) Another example is the interval domain I[0,1]. It is the set of all non empty real intervals [a,b], with 0 a b 1, with the reverse inclusion order : [a,b] [a’,b’] [a,b] [a’,b’] The interval [a,b] represent an information on a real number: “x belongs to [a,b]”. Then if [a,b] contains [a’,b’], the information [a’,b’] refines (contains) the information [a,b].
68
68 ECG Saarbrücken Robustness issues & CAD André Lieutier The Interval domain (2) The maximal elements of the interval domain I[0,1] are the [x, x] intervals and can be identified to real numbers. [a,b] [a’,b’] aa’b’0b1
69
69 ECG Saarbrücken Robustness issues & CAD André Lieutier The Interval domain (3) For any open subset of [0,1], the set of interval contained in is open. Theses open sets form basis of the Scott topology of I[0,1]. The restriction of this topology to maximal elements is the natural topology of [0,1]. The Scott Topology for the interval domain I[0,1] is defined as follow:
70
70 ECG Saarbrücken Robustness issues & CAD André Lieutier -continuous domains A basis B of a domain D is a kind of dense subset : every element x of D is the least upper bound of the set of elements of B below x. Particular domains, called -continuous domains have a countable basis: I[0,1] is an -continuous domains the subset of intervals with dyadic bounds is a countable basis.
71
71 ECG Saarbrücken Robustness issues & CAD André Lieutier Computable elements of domains Given an effective enumeration of the basis, an element of an -continuous domains is said computable if it is the least upper bound of a computable sequence of elements of the basis. For example an interval of I[0,1] is computable if and only if its left (resp. right) bound is a lower (resp. upper) semi- computable real number.
72
72 ECG Saarbrücken Robustness issues & CAD André Lieutier Computable comparison operator on the interval domain Neg : I[-1,1] {true, false, } false if a > 0 Neg([a,b])= trueif b < 0 else This function is, in some precise meaning, the best continuous (computable) approximation of the real numbers comparison operator.
73
73 ECG Saarbrücken Robustness issues & CAD André Lieutier Domain of D 0 functions Extension of continuous function C 0 scott continuous maps I[0,1] IR Domains for continuous functions order relation :
74
74 ECG Saarbrücken Robustness issues & CAD André Lieutier The Solid domain We apply this framework to define a model for solids, with the following parallel: real intervals partial solids real numbers regular sets dyadic intervals dyadic voxel sets computable intervals computable partial solids
75
75 ECG Saarbrücken Robustness issues & CAD André Lieutier The Solid Domain The solid domain S[0,1] n of the unit cube [0,1] n R n is the set of ordered pairs (A, B) of open subsets of [0,1] n with A B=Ø, endowed with the information order: (A 1, B 1 ) (A 2, B 2 ) A 1 A 2 and B 1 B 2 The elements of S[0,1] n are called partial solids.
76
76 ECG Saarbrücken Robustness issues & CAD André Lieutier partial solid : A B=Ø (A, B) Example of metrics : A B
77
77 ECG Saarbrücken Robustness issues & CAD André Lieutier Projection on Solid Domain X Interior of X Interior of the complement of X Any subset X of [0,1] n, can be represented by (Interior of X, Interior of the complement of X )
78
78 ECG Saarbrücken Robustness issues & CAD André Lieutier Continuous membership predicates: [0,1] n {true, false, } Any open set containing contains the whole set {true, false, }
79
79 ECG Saarbrücken Robustness issues & CAD André Lieutier Regular sets (1) The regularization of a subset X of R d is the the closure of the interior of X. Regular sets are sets equal to their regularization. Regular sets have been introduced by Requicha to define a model for solids closed under regularized Boolean operators. The partial solids representing regular sets are exactly the maximal elements of the solid domain.
80
80 ECG Saarbrücken Robustness issues & CAD André Lieutier Regular sets (2) Regular set Non-regular set
81
81 ECG Saarbrücken Robustness issues & CAD André Lieutier Partial dyadic voxel sets Dyadic rectangles in R d are products of d dyadic intervals. Partial Solids made of pairs of finite unions of regular dyadic rectangles are called Partial Dyadic Voxel Sets (PDVS). They feature a countable basis of S[0,1] d. The existence of a natural enumeration of the set of PDVS allows to define computability notions on partial solids.
82
82 ECG Saarbrücken Robustness issues & CAD André Lieutier Partial dyadic voxel sets (2)
83
83 ECG Saarbrücken Robustness issues & CAD André Lieutier Computable partial solids A partial Solid (A, B) is said computable if it is the least upper bound of a computable sequence of PDVS (A k, B k ): (A, B) =sup {(A k, B k )} (equivalent with work by Weihrauch, hertling,
84
84 ECG Saarbrücken Robustness issues & CAD André Lieutier Computable membership predicate on the solid domain (A,B) BA ff tt I[0,1] d X S [0,1] d {true, false, }
85
85 ECG Saarbrücken Robustness issues & CAD André Lieutier Domaine D 1 is a set of subsets of I[0,1] IR F 0 I[0,1] IR : {f, F 0 f} Information about the functions values F 1 I[0,1] IR : {f, si x 1,x 2 X, (x 1 -x 2 )* F 1 (X) f(x 1 )-f(x 2 )} Information about the derivative F 0 and F 1 are consistent if F 1 , f is Lipschitz X x1x1 x2x2 Domain for differetiable functions
86
86 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions
87
87 ECG Saarbrücken Robustness issues & CAD André Lieutier Abstract data type Functions
88
88 ECG Saarbrücken Robustness issues & CAD André Lieutier F : C C: F(z)=z 10, J F (z)= 10.z 9 0 on X F locally injective but not globally injective on X. f D 1 (IR n IR n ) J f : interval jacobian function Si 0 J f (X), then f is injective on X Regular curves : Regular surface F z z 10
89
89 ECG Saarbrücken Robustness issues & CAD André Lieutier Lipschitz differential equation : Cauchy-Lipschitz-Picard revisted If F is continuous and Lipschitz with respect with its second argument, there is a unique solution in a neighborhood of t 0.
90
90 ECG Saarbrücken Robustness issues & CAD André Lieutier If F is bounded on TxX : B fini et B F(T,X) (i.e. F(T,X) [b -,b + ]) If f 0 is a consistent initial solution f n = n (f 0 ) has a fix point solution of (1’) Cauchy-Lipschitz-Picard revisted
91
91 ECG Saarbrücken Robustness issues & CAD André Lieutier Cauchy-Lipschitz-Picard revisted Up: (updated information)
92
92 ECG Saarbrücken Robustness issues & CAD André Lieutier Stronger notions of computability A partial Solid (A, B) is said: recursive if there exists a computable sequence of PDVS (A k, B k ) such that: d Hausdorf ((A c, B c ), (A k c, B k c )) < 2 -k Lebesgues computable if there exists a computable sequence of PDVS (A k, B k ) such that: (A, B) =sup {(A k, B k )} and Lebesgues ((A B) - (A k B k )) < 2 -k
93
93 ECG Saarbrücken Robustness issues & CAD André Lieutier Stronger notions of computability for partial solids: alternate definitions A partial Solid (A, B) is said: recursive if the distance functions to A and B are computable Lebesgues computable if it is computable and the Lebesgues measures of A and B are computable real numbers.
94
94 ECG Saarbrücken Robustness issues & CAD André Lieutier Boolean operators on the solid domain (A 1, B 1 ) (A 2, B 2 ) = (A 1 A 2, B 1 B 2 ) (A 1, B 1 ) (A 2, B 2 ) = (A 1 A 2, B 1 B 2 )
95
95 ECG Saarbrücken Robustness issues & CAD André Lieutier Union of partial solids
96
96 ECG Saarbrücken Robustness issues & CAD André Lieutier Intersection of recursive partial solids may be non recursive
97
97 ECG Saarbrücken Robustness issues & CAD André Lieutier
98
98 ECG Saarbrücken Robustness issues & CAD André Lieutier
99
99 ECG Saarbrücken Robustness issues & CAD André Lieutier Poset of singularities (combinatorial domain) d =distance between centres R 1 = first radius R 2 = second radius Circle-circle intersection with 3 predicates d- (R 1 +R 2 ) d- (R 1 -R 2 ) d- (R 2 -R 1 )
100
100 ECG Saarbrücken Robustness issues & CAD André Lieutier Poset of singularities (combinatorial domain) (Scott) continuous predicates
101
101 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
102
102 ECG Saarbrücken Robustness issues & CAD André Lieutier Join Operator
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.