1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric...
-
Upload
ruth-hodges -
Category
Documents
-
view
215 -
download
0
Transcript of 1 ECG Saarbrücken Robustness issues & CAD André Lieutier Robustness issues in Geometric...
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 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 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 25
Boolean Operator
Pres. surface intersection
Demo...
• 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 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 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 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 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 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 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