1 ecg saarbrücken robustness issues & cad andré lieutier robustness issues in geometric...

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

Upload: ruth-hodges

Post on 05-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

ECG Saarbrücken Robustness issues & CAD André Lieutier 1

Robustness issues in Geometric computations for Computer Aided Design

André Lieutier

practices and formalization

ECG Saarbrücken Robustness issues & CAD André Lieutier 2

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

ECG Saarbrücken Robustness issues & CAD André Lieutier 3

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 ??

ECG Saarbrücken Robustness issues & CAD André Lieutier 4

Curves and Surfaces for Solid Modelling

Piecewise Polynomial and rational

Trigonometric and primitives

Offset surfaces

Subdivision

Abstract data type Functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 5

Piecewise polynomial and rational

curves and surfacesGiven by the NURBS knots and poles in floating point

ECG Saarbrücken Robustness issues & CAD André Lieutier 6

Trigonometric

•Planes,

•Conics,

•3D Quadrics,

•Torus (cyclids ?)

•Surface of revolution and ruled surfaces

ECG Saarbrücken Robustness issues & CAD André Lieutier 7

Offset surfaces

Given by an abstract Surface + an Offset Value

vundvuSvuS ,,,'

vS

uS

vS

uS

vun

,

vundvuSvuS ,,,'

vuS ,

vun ,

ECG Saarbrücken Robustness issues & CAD André Lieutier 8

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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 9

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

ECG Saarbrücken Robustness issues & CAD André Lieutier 10

Abstract data type Functions

Parametric Curves and surfaces are represented byabstract 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

ECG Saarbrücken Robustness issues & CAD André Lieutier 11

Abstract data type Functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 12

Abstract data type Functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 13

Boundary Representation (BRep)

Recursive definition

Up to epsilon Consistency

Variational Design

ECG Saarbrücken Robustness issues & CAD André Lieutier 14

Boundary Representation (BRep)

0-dimensional BRep

1-dimensional BRep

2-dimensional BRep

3-dimensional BRep

ECG Saarbrücken Robustness issues & CAD André Lieutier 15

1-dimensional BRep

in R :

in R2 or R3

BRep 0D

ECG Saarbrücken Robustness issues & CAD André Lieutier 16

2-dimensional BRep

in R2 :

in R2 or R3

BRep 1D

ECG Saarbrücken Robustness issues & CAD André Lieutier 17

3-dimensional BRep

in R3

BRep 2D

ECG Saarbrücken Robustness issues & CAD André Lieutier 18

Up to Epsilon consistency•2 rational parametric surfaces does not intersect on a

rational parametric curve•Consistency holds up to some accuracy..

ECG Saarbrücken Robustness issues & CAD André Lieutier 19

Operators on BRep

Up to Epsilon programming

Join Operator

Boolean Operator

Offset Operator

ECG Saarbrücken Robustness issues & CAD André Lieutier 20

Up to Epsilon programmingNumerical 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,...)

ECG Saarbrücken Robustness issues & CAD André Lieutier 21

Join Operator

  

ECG Saarbrücken Robustness issues & CAD André Lieutier 22

Join Operator

  

 

ECG Saarbrücken Robustness issues & CAD André Lieutier 23

Join Operator

  

ECG Saarbrücken Robustness issues & CAD André Lieutier 24

Join Operator

  

ECG Saarbrücken Robustness issues & CAD André Lieutier 25

Boolean Operator

Pres. surface intersection

Demo...

ECG Saarbrücken Robustness issues & CAD André Lieutier 26

Surfaces intersection in CAD

ECG Saarbrücken Robustness issues & CAD André Lieutier 27

Marching algorithms

ECG Saarbrücken Robustness issues & CAD André Lieutier 28

Marching algorithms

ECG Saarbrücken Robustness issues & CAD André Lieutier 29

ODE like marching step

Euler

ECG Saarbrücken Robustness issues & CAD André Lieutier 30

Newton step

ECG Saarbrücken Robustness issues & CAD André Lieutier 31

Marching algorithms

• The kernel of the first derivative is 1 dimensional a regular points

• Generally, only 2-dimensional kernels are considered

Singularities

ECG Saarbrücken Robustness issues & CAD André Lieutier 33

Flaws

• High order singularities

• “flat”, almost zero functions :

What is the zero set of ?

Answer :

10: ttf ,

ECG Saarbrücken Robustness issues & CAD André Lieutier 34

Flaws (2)

Non punctual singularities

ECG Saarbrücken Robustness issues & CAD André Lieutier 35

Topological consistency

ECG Saarbrücken Robustness issues & CAD André Lieutier 36

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 ?

ECG Saarbrücken Robustness issues & CAD André Lieutier 37

Data Exchange and PLM

IGES, STEP, etc..

Product Lifecycle Management

ECG Saarbrücken Robustness issues & CAD André Lieutier 38

Data Exchange and PLM

ECG Saarbrücken Robustness issues & CAD André Lieutier 39

Digital Mockup based approachDigital Mockup based approach

DIGITALIZATIONPhysical Mockup based approach

Physical Mockup based approach

DIGITAL SKETCH

MANUAL SKETCH

STRUCTURALSHAPES

STYLEENGINEERING

(CLASS A)

REVERSEENGINEERING

ARTIST STYLINGEXPLORATION

ARTIST STYLINGEXPLORATION

CONCEPTUALMODELING

(architecture based on marketing specifications)

CONCEPTUALMODELING

(architecture based on marketing specifications)

ARTIST STYLINGREFINEMENT

ARTIST STYLINGREFINEMENT

computations and physical interactionscomputations and physical interactions

TOOLING

ECG Saarbrücken Robustness issues & CAD André Lieutier 40

computations and physical interactions Manufacturing

computations and physical interactions Manufacturing

ECG Saarbrücken Robustness issues & CAD André Lieutier 41

Multi CAD IntegrationMulti CAD Integration

CADz

IGESCATIA

Deneb

STL

Vrml

DMU NavigatorDMU NavigatorStep

CADy

SolidWorks

CADx

NCGM

Strim/Stylernew

IGES

IGES

ECG Saarbrücken Robustness issues & CAD André Lieutier 42

Infinite depth of computation..

ECG Saarbrücken Robustness issues & CAD André Lieutier 43

Exact computation paradigm is nice but...

Exact Computation Paradigm is for local computations

Let us try applying it on the whole process..

Class of numbersfixed length numbers

integers and rational numbers

algebraic numbers

computable real numbers (covers future formalisms !)

Arithmetic versus Geometric rounding

ECG Saarbrücken Robustness issues & CAD André Lieutier 44

Exact Computation Paradigm is for local computations

Exact predicates are successfully used !!

avoid internal discontinuities..

..for a finite and reasonable depth of computation

ECG Saarbrücken Robustness issues & CAD André Lieutier 45

Let us try exact computation on the whole process..

Meshing + Volume computation

Meshing + FEM

Boolean operation+ Meshing + FEM

Rotation+Boolean operation..

ECG Saarbrücken Robustness issues & CAD André Lieutier 46

Class of numbers

Fixed length numbers

Integers and rational numbers

Algebraic numbers

Computable real numbers :equality is semi-decidable

computable =>continuous

ECG Saarbrücken Robustness issues & CAD André Lieutier 47

What is Rounding ?

dyadicdyadic

dyadic Rounding is required

x = intersection of a nested sequence of dyadic intervals

x

y= sqrt(x)

real number

ECG Saarbrücken Robustness issues & CAD André Lieutier 48

Arithmetic versus Geometric rounding

Naive arithmetic rounding

Interval arithmetic

Geometric rounding

Deterministic and non deterministic rounding

Interval Curves, Surfaces and BRep

ECG Saarbrücken Robustness issues & CAD André Lieutier 49

Geometric Rounding

Geometrical Rounding

Finite representationsFinite representations

Integer RAM Integer RAM

Real RAM

Usual Analysis and real Geometry

Recursive analysis“Domain Theoretic”

real Geometry

ECG Saarbrücken Robustness issues & CAD André Lieutier 50

Geometric Rounding

Very important topic for Computational Geometry, few papers

ECG Saarbrücken Robustness issues & CAD André Lieutier 51

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)

ECG Saarbrücken Robustness issues & CAD André Lieutier 52

Part 2

Recursive analysis and Domain Theory for Geometric

Computations

ECG Saarbrücken Robustness issues & CAD André Lieutier 53

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

ECG Saarbrücken Robustness issues & CAD André Lieutier 54

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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 55

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 , Rn , Ck ,Lp, (K,dH), etc...

– need a dense countable subset for metric spaces

– countable base of neighbourhoods for general topology

ECG Saarbrücken Robustness issues & CAD André Lieutier 56

Turing Computability oncountable sets (2)

• A sequence (ni) 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 (ni) 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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 57

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 di such that:

| - di | < 2-i

ECG Saarbrücken Robustness issues & CAD André Lieutier 58

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 {di, iN}

• 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 {di, iN}

ECG Saarbrücken Robustness issues & CAD André Lieutier 59

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 di such that:

|x - di| < 2-i

• The set of computable real numbers is countable. However, you have probably never met a non computable real number !

ECG Saarbrücken Robustness issues & CAD André Lieutier 60

A non computable semi-computable real numbers

x ?a1

a2

a3

a4

ai is a computable increasing sequence of dyadic numbers and x is the limit of (ai) but x is not computable.

ECG Saarbrücken Robustness issues & CAD André Lieutier 61

Recursive analysisRecursive 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).

ECG Saarbrücken Robustness issues & CAD André Lieutier 62

recursive analysis The predicate, for any (computable) real number x :

x == 0is semi-decidable

two meanings :•topology (sequence of approximation of real numbers)•computability ( halting problem !)

Modèles de calcul

ECG Saarbrücken Robustness issues & CAD André Lieutier 63

F computable => F continuous

Input Output

x1

x2

x3

.

.lim xi

F(x1)F(x2 )F(x3 )..lim F(xi )

F

=?

ECG Saarbrücken Robustness issues & CAD André Lieutier 64

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”.

ECG Saarbrücken Robustness issues & CAD André Lieutier 65

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

ECG Saarbrücken Robustness issues & CAD André Lieutier 66

The Boolean domainAn 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”.

true false

Any open set containing contains the whole set {true, false, }

ECG Saarbrücken Robustness issues & CAD André Lieutier 67

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 0ab1, 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].

ECG Saarbrücken Robustness issues & CAD André Lieutier 68

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’]

a a’ b’0 b 1

ECG Saarbrücken Robustness issues & CAD André Lieutier 69

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:

ECG Saarbrücken Robustness issues & CAD André Lieutier 70

-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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 71

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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 72

Computable comparison operator on the interval domain

Neg : I[-1,1] {true, false, }

false if a > 0Neg([a,b])= true if b < 0else

This function is, in some precise meaning, the best continuous (computable) approximation of the real numbers comparison operator.

ECG Saarbrücken Robustness issues & CAD André Lieutier 73

Domain of D0 functionsExtension of continuous function C0

scott continuous maps I[0,1]IR

Domains for continuous functions

)](max),(min[]),([],[],[

tftfbaIfbatbat

order relation :

)()(,.

.

xgxfxgf

yxyx

def

def

ECG Saarbrücken Robustness issues & CAD André Lieutier 74

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

ECG Saarbrücken Robustness issues & CAD André Lieutier 75

The Solid Domain

The solid domain S[0,1]n of the unit cube [0,1]n Rn is the set of ordered pairs (A, B) of open subsets of [0,1]n with A B=Ø, endowed with the information order:

(A1, B1) (A2, B2) A1 A2 and B1 B2

The elements of S[0,1]n are called partial solids.

ECG Saarbrücken Robustness issues & CAD André Lieutier 76

partial solid : A B=Ø

(A, B)

ccH

ccH BBdAAd ',,',max

Example of metrics :

'',''max BBBBAAAA LL

A B

ECG Saarbrücken Robustness issues & CAD André Lieutier 77

Projection on Solid Domain

X

Interior of XInterior 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 )

ECG Saarbrücken Robustness issues & CAD André Lieutier 78

Continuous membership predicates:

[0,1]n {true, false, } (A,B)

BA

tt

tt

ff

ff

Any open set containing contains the whole set {true, false, }

ECG Saarbrücken Robustness issues & CAD André Lieutier 79

Regular sets (1)

• The regularization of a subset X of Rd 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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 80

Regular sets (2)

Regular set

Non-regular set

ECG Saarbrücken Robustness issues & CAD André Lieutier 81

Partial dyadic voxel setsDyadic rectangles in Rd 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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 82

Partial dyadic voxel sets (2)

ECG Saarbrücken Robustness issues & CAD André Lieutier 83

Computable partial solids

A partial Solid (A, B) is said computable if it is the least upper bound of a computable sequence of PDVS (Ak, Bk):

(A, B) =sup {(Ak, Bk)}

(equivalent with work by Weihrauch, hertling,

ECG Saarbrücken Robustness issues & CAD André Lieutier 84

Computable membership predicateon the solid domain

(A,B)

BA

fftt

I[0,1]d X S [0,1]d {true, false, }

ECG Saarbrücken Robustness issues & CAD André Lieutier 85

Domaine D1

is a set of subsets of I[0,1]IR

F0 I[0,1]IR :

{f, F0 f} Information about the functions values

F1 I[0,1]IR :

{f, si x1,x2 X, (x1-x2)* F1(X) f(x1)-f(x2)}Information about the derivative

F0 and F1 are consistent

if F1, f is Lipschitz

X

x1

x2

Domain for differetiable functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 86

Abstract data type Functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 87

Abstract data type Functions

ECG Saarbrücken Robustness issues & CAD André Lieutier 88

F : CC: F(z)=z10, JF (z)=10.z9 0 on XF locally injective but not globally injective on X.

fD1 (IRn IRn)

Jf : interval jacobian function

Si 0 Jf(X),then f is injective on X

Regular curves :

Regular surface

F

z z10

)(0 TCdt

d

)()(0 TSv

TSu

ECG Saarbrücken Robustness issues & CAD André Lieutier 89

Lipschitz differential equation :

Cauchy-Lipschitz-Picard revisted

)2()(

1))(,()(

00 xtf

tftFtfdt

d

If F is continuous and Lipschitz with respect with its second argument, there is a unique solution in a neighborhood of t0.

ECG Saarbrücken Robustness issues & CAD André Lieutier 90

If F is bounded on TxX : B fini et BF(T,X) (i.e. F(T,X)[b-,b+])

If f0 is a consistent initial solution

fn =n(f0) has a fix point solution of (1’)

Cauchy-Lipschitz-Picard revisted

)'2(

'1))(,()(

0 ff

tftFtfdt

d

)()'1(

))(,(),(

)()'1(

))(,())((

0000

ff

ffUpgf

ffdt

d

tftFtf

F

F

F

ECG Saarbrücken Robustness issues & CAD André Lieutier 91

Cauchy-Lipschitz-Picard revisted

Up: (updated information)

ECG Saarbrücken Robustness issues & CAD André Lieutier 92

Stronger notions of computabilityA partial Solid (A, B) is said:

• recursive if there exists a computable sequence of PDVS (Ak, Bk) such that:

dHausdorf ((Ac, Bc), (Akc, Bk

c)) < 2-k

• Lebesgues computable if there exists a computable sequence of PDVS (Ak, Bk) such that:

(A, B) =sup {(Ak, Bk)} and

Lebesgues((A B) - (Ak Bk)) < 2-k

ECG Saarbrücken Robustness issues & CAD André Lieutier 93

Stronger notions of computability for partial solids: alternate

definitionsA 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.

ECG Saarbrücken Robustness issues & CAD André Lieutier 94

Boolean operators on the solid domain

Or True False

True True True True

False True False True

And True False

True True False

False False False False

False

(A1 , B1 ) (A2 , B2 ) = (A1 A2 , B1B2 )

(A1 , B1 ) (A2 , B2 ) = (A1 A2 , B1 B2 )

ECG Saarbrücken Robustness issues & CAD André Lieutier 95

Union of partial solids

(A1,B1) (A2,B2)

B1B2A1A2

(A2,B2)

B2A2

(A1,B1)

B1A1

ECG Saarbrücken Robustness issues & CAD André Lieutier 96

Intersection of recursive partial solids may be non recursive

(A1,B1) (A2,B2)

B1B2A1A2

(A2,B2)

B2A2

(A1,B1)

B1A1

??

?

ECG Saarbrücken Robustness issues & CAD André Lieutier 97

2 02 0

2 - 1

2 - 2

2 - 3

a 0a 0a 1 a 2 a 3

g 0

g 1

? ?

2 02 0

2 - 1

2 - 2

2 - 3

a 0a 0a 1 a 2 a 3

f 0

f 3 ? ?

ECG Saarbrücken Robustness issues & CAD André Lieutier 98

A

B ???

ECG Saarbrücken Robustness issues & CAD André Lieutier 99

Poset of singularities (combinatorial domain)

• d =distance between centres• R1= first radius• R2 = second radius

Circle-circle intersection with 3 predicates•d- (R1+R2)•d- (R1-R2)•d- (R2-R1)

ECG Saarbrücken Robustness issues & CAD André Lieutier 100

Poset of singularities (combinatorial domain)(Scott) continuous predicates

a b

a b

a ba ba ba b

a b ab

a b

bb ba a

ECG Saarbrücken Robustness issues & CAD André Lieutier 101

Join Operator

  

ECG Saarbrücken Robustness issues & CAD André Lieutier 102

Join Operator