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

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

Jan 05, 2016

Download

Documents

Ruth Hodges
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric computations for Computer Aided Design André Lieutier practices.

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

Robustness issues in Geometric computations for Computer Aided Design

André Lieutier

practices and formalization

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

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

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

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

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

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

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

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

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

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

Trigonometric

•Planes,

•Conics,

•3D Quadrics,

•Torus (cyclids ?)

•Surface of revolution and ruled surfaces

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

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 ,

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

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.

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

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

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

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

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

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

Abstract data type Functions

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

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

Abstract data type Functions

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

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

Boundary Representation (BRep)

Recursive definition

Up to epsilon Consistency

Variational Design

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

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

Boundary Representation (BRep)

0-dimensional BRep

1-dimensional BRep

2-dimensional BRep

3-dimensional BRep

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

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

1-dimensional BRep

in R :

in R2 or R3

BRep 0D

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

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

2-dimensional BRep

in R2 :

in R2 or R3

BRep 1D

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

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

3-dimensional BRep

in R3

BRep 2D

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

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

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

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

Operators on BRep

Up to Epsilon programming

Join Operator

Boolean Operator

Offset Operator

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

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

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

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

Join Operator

  

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

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

Join Operator

  

 

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

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

Join Operator

  

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

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

Join Operator

  

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

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

Boolean Operator

Pres. surface intersection

Demo...

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

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

Surfaces intersection in CAD

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

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

Marching algorithms

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

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

Marching algorithms

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

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

ODE like marching step

Euler

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

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

Newton step

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

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

Marching algorithms

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

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

• Generally, only 2-dimensional kernels are considered

Singularities

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

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 ,

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

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

Flaws (2)

Non punctual singularities

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

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

Topological consistency

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

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 ?

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

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

Data Exchange and PLM

IGES, STEP, etc..

Product Lifecycle Management

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

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

Data Exchange and PLM

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

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

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

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

computations and physical interactions Manufacturing

computations and physical interactions Manufacturing

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

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

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

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

Infinite depth of computation..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Geometric Rounding

Very important topic for Computational Geometry, few papers

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

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)

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

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

Part 2

Recursive analysis and Domain Theory for Geometric

Computations

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

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

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

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.

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

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

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

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.

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

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

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

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}

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

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 !

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

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.

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

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

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

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

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

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

=?

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

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

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

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

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

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, }

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

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

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

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

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

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:

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

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.

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

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.

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

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.

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

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

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

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

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

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.

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

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

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

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 )

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

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, }

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

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.

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

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

Regular sets (2)

Regular set

Non-regular set

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

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.

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

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

Partial dyadic voxel sets (2)

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

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,

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

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, }

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

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

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

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

Abstract data type Functions

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

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

Abstract data type Functions

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

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

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

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.

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

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

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

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

Cauchy-Lipschitz-Picard revisted

Up: (updated information)

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

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

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

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.

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

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 )

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

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

Union of partial solids

(A1,B1) (A2,B2)

B1B2A1A2

(A2,B2)

B2A2

(A1,B1)

B1A1

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

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

??

?

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

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

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

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

A

B ???

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

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)

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

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

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

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

Join Operator

  

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

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

Join Operator