Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric computations for Computer Aided Design André Lieutier practices.

Similar presentations


Presentation on theme: "1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric computations for Computer Aided Design André Lieutier practices."— Presentation transcript:

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


Download ppt "1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric computations for Computer Aided Design André Lieutier practices."

Similar presentations


Ads by Google