# A data Type for Computational Geometry - PowerPoint PPT Presentation

PPT – A data Type for Computational Geometry PowerPoint presentation | free to download - id: 17e7b7-ZDc1Z The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## A data Type for Computational Geometry

Description:

### A data Type for. Computational Geometry & Solid Modelling ... Intersection of two 3D cubes. 17. Intersection of two 3D cubes. 18. This is Really Ironical! ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 50
Provided by: markokr
Category:
Tags:
Transcript and Presenter's Notes

Title: A data Type for Computational Geometry

1
A data Type for Computational Geometry Solid
Modelling
• Abbas Edalat André
Lieutier Imperial College
Dassault Systemes

2
Aim
To develop a data type for CG SM
• Mathematically sound, realistic
• Bridges theory and practice

3
Why do we need a data type for solids?
• Answer To develop robust algorithms!
• Lack of a proper data type and use of real RAM
in which comparison of real numbers is decidable
give unreliable programs in practice!

4
The Intersection of two lines
• With floating point arithmetic, find the point P
of the intersection L1 ? L2. Then
min_dist(P, L1) gt 0, min_dist(P,
L2) gt 0.

5
The Convex Hull Algorithm
With floating point we can get
6
The Convex Hull Algorithm
A, B C nearly collinear
With floating point we can get (i) AC,
or
7
The Convex Hull Algorithm
A, B C nearly collinear
With floating point we can get (i) AC,
or (ii) just AB, or
8
The Convex Hull Algorithm
A, B C nearly collinear
With floating point we can get (i) AC,
or (ii) just AB, or (iii) just BC, or
9
The Convex Hull Algorithm
A, B C nearly collinear
With floating point we can get (i) AC,
or (ii) just AB, or (iii) just BC, or (iv) none
of them.
The quest for robust algorithms is the most
fundamental unresolved problem in solid modelling
and computational geometry.
10
A Fundamental Problem in Topology and Geometry
• Subset A ? X topological space. Membership
predicate ?A X ? tt, ff
• is continuous iff A is both open and closed.
• In particular, for A ? Rn, A ? ?, A ? Rn ?A
Rn ? tt, ff is not continuous.
• Most engineering is done, however, in Rn.

11
The Discontinuity of the Membership Predicate
• The basic building blocks of classical geometry
are not continuous and hence not computable in Rn.

12
The Discontinuity of the Membership Predicate
• The basic building blocks of classical geometry
are not continuous and hence not computable in Rn.
• Example The point is in the box.

13
Non-computability of the Membership Predicate
• There is a discontinuity if x goes through the
boundary.

False
True
14
Non-computable Operations in Classical CG SM
• ?A Rn ? tt, ff not continuous means it is not
computable, even for simple objects like
A0,1n.
• x ? A is not decidable even for simple objects
for A 0,?) ? R, we just have the
undecidability of x ? 0.
• The Boolean operations such as ? is not
continuous, hence noncomputable, wrt any natural
notion of topology on subsets. For example ?
C(Rn) ? C(Rn) ? C(Rn), where C(Rn) is compact
subsets with the Hausdorff metric.

15
Intersection of two 3D cubes
16
Intersection of two 3D cubes
17
Intersection of two 3D cubes
18
This is Really Ironical!
• Topology and geometry have been developed to
study continuous functions and transformations on
spaces.
• The membership predicate and the binary
operations for ? and ? are the fundamental
building blocks of topology and geometry.
• Yet, these fundamental functions are not
continuous in classical topology and geometry.

19
Elements of a Computable Topology/Geometry
• ?A X ? tt, ff fails to be continuous on ?A,
the boundary of A.
• For any open or closed set A, the predicate x ?
?A is non-observable, like x 0.
• ?A is now a continuous function.

20
Elements of a Computable Topology/Geometry
• Note that ?A?B iff int Aint B int
Acint Bc, i.e. sets with the same
interior and exterior have the same membership
predicate.
• We now change our view In analogy with classical
set theory where every set is completely
determined by its membership predicate, we define
a (partial) solid object to be given by any
continuous map f X ?
tt, ff ?
• Then f 1tt is open its called the interior
of the object. f 1ff is open its called
the exterior of the object.

21
Partial Solid Objects
• We have now introduced partial solid objects,
since X \ (f 1tt ? f
1ff)
may have non-empty interior.
• We partially order the continuous functions f, g
X ? tt, ff ? f ? g ? ?x ? X . f(x) ?
g(x)
• f ? g ? f 1tt ? g 1tt f 1ff
? g 1ff Therefore, f ? g means g has more
information about an idealized real solid object.

22
The Solid Domain of X
• The solid domain S (X) of X is the partial order
(X ? tt, ff ?, ? )
• S(X) is isomorphic to the poset SO(X) of pairs of
disjoint open sets (O1,O2) ordered componentwise
by inclusion

23
Properties of the Solid Domain
• Theorem For a (second countable) locally compact
Hausdorff space X (e.g. Rn), S(X) is (?)
continuous.
• and (U1, U2) ltlt (V1, V2) iff U1 ? V1 U2
? V2
• Theorem If X is Hausdorff, then
(O1, O2) ?
Maximal (S X, ?) iff
• O1 int O2c O2 int O1c.
• This is a regular solid object O1int O1
O2int O2
• Definition
• (O1, O2) , O1 ? Ø ? O2 , is a classical
object if O1 ? O2 X.

24
Examples
• A x?R2 ? x 1 ? 1, 2 represented in the
model by (int A, int Ac) ( x ? x lt 1, R2 \
A ) is a classical (but non-regular) solid
object.
• B x?R2 ? x 1 represented by (x ? x lt
1 , x ? x gt 1) ? Maximal (SR2, ?) is a
regular solid object.

A
B
25
Boolean operations and predicates
• Theorem All these operations and predicates are
Scott continuous.

26
Subset Inclusion
• Subset inclusion is Scott continuous.

27
General Minkowski operator
• For smoothing out sharp corners of objects.
• SbRn (A, B) ? SRn Bc is bounded ?(Ø,Ø).
• All real solids are represented in SbRn.
• Define _?_ SRn ? SbRn ? SRn
((A,B) , (C,D)) ? (A ? C , (Bc ? Dc)c) where
A ? C ac a? A, c? C
• Theorem _?_ is Scott continuous.

28
An effectively given solid domain
• SX can be given effective structure for any
locally compact second countable Hausdorff space,
e.g. Rn, Sn, Tn, 0,1n.
• Consider XRn. The set of pairs of disjoint open
rational polyhedra of the form K (L1 , L2),
gives a basis for SX.
• Let Kn (p1 ( K n ) , p2 ( K n) ) be an
enumeration of basis.
• (A, B) is a computable partial solid object if
there exists a total recursive function ß such
that

(A , B) ( ?n p1 ( K ß(n) ) , ?n p2 (
K ß(n) ) )
29
Computing a Solid Object
• In this model, a solid object is represented by
its interior and exterior.
• The interior and the exterior
• are approximated by two
• nested sequence of rational polyhedra.

30
Computable Operations on the Solid Domain
• F (SX)n ? SX or F (SX)n ? tt,
ff ?
• is computable if it takes computable sequences
of partial solid objects to computable sequences.
• Theorem All the basic Boolean operations and
predicates are computable wrt any effective
enumeration of either the partial rational
polyhedra or the partial dyadic voxel sets.

31
Quantative Measure of Convergence
• In our present model for computable solids,
there is no quantitative measure for the
convergence of the basis elements to a computable
solid.
• Example The minimum distance from say a
rational point to a computable solid is
semi-computable, but not computable.
• We will enrich the notion of domain-theoretic
computability to include a quantitative measure
of convergence.

32
Hausdorff Computability
• We strengthen the notion of a computable solid by
using the Hausdorff distance d between compact
sets in Rn.
• d(C,D) min r C ? Dr D ? Cr
where Dr x ? y ? D.
x-y ? r

33
Hausdorff computability
• Two solid objects which have a small Hausdorff
distance from each other are visually close.
• The Hausdorff distance gives a natural
quantitative measure for approximation of solid
objects.
• However, the intersection or union of two
Hausdorff computable solid objects may fail to be
Hausdorff computable.
• Examples of such failure are nontrivial to
construct.

34
Lebesgue Computability
(A , B) ? S k, kn is Lebesgue computable
iff there exists an effective chain K ß(n) of
basis elements with ß a total recursive
functions such that (A , B) ( ?n p1
( K ß(n) ) , ?n p2 ( K ß(n) ) ) µ(A) -
µ(p1 ( K ß(n) ) ) lt 1/2 n and µ(B) -
µ(p2 ( K ß(n) ) ) lt 1/2 n . The definition can
be extended to SRn. Theorem Boolean operations
are Lebesgue computable.
35
Hausdorff and Lebesgue Computable Objects
• Hausdorff computable ? Lebesgue computable
• Lebesgue computable ? Hausdorff computable
• Theorem A regular solid object is computable
iff it is Hausdorff computable.
• However A computable regular solid object may
not be Lebesgue computable.

36
Comparison of Various Notions of Computability
Partial solid in Rn Distance to a point Boolean operators Lebesgue measure
Computable semi-computable computable non-computable
Hausdorff computable computable non-computable non-computable
Lebesgue computable semi-computable computable computable
37
The data type
• We use pairs of disjoint dyadic open polyhedra
with either the Hausdorff or the Lebesgue measure
for approximating the idealized solid object.
• ((A , B) , 1/2 m )

38
The Convex Hull Algorithm
39
The Convex Hull Algorithm
40
The Convex Hull Algorithm
41
The Convex Hull map
• Let Hm (R2)m ? C(R2) be the classical convex
Hull map, with C(R2) the set of compact subsets
of R2.
• Let (IR2,?) be the domain of rectangles in R2.
• Each rectangle T?IR2 has vertices T1,T2,T3,T4.
• For x(T1,T2,,Tm)?(IR2)m, define
• Cm (IR2)m ? SR2
• Cm(x)(Im(x),Em(x)) with

Em(x)(H4m((Ti1,Ti2,Ti3,Ti4))1?i?m)c
Im(x)Int(?Hm((Tif(i)))1?i?m) fNm?N4)
where Nk1,2,,k
42
The Convex Hull is Computable!
• Theorem The map Cm (IR2)m ? SR2
• is Hausdorff and Lebesgue computable.
• Complexity
• Em(x) is O(m log m).
• Im(x) is O(m3) but there is a good approximation
in O(m log m), the complexity of the classical
convex hull algorithm.

43
Conclusion
• Our model satisfies
• A well-defined notion of computability
• Reflects the observable properties of real
solids
• Is closed under basic operations
• Captures regular and non-regular sets
• Supports a methodology for designing robust
algorithms

44
Further Work
• Work to be done
• Implementation
• with exact real arithmetic
• with interval input as in CAD
• Theoretical work
• Lebesgue computability of ? for regular solids
• Boundary representation
• Differential properties of curves/surfaces
• Solids of manifolds

45
Hausdorff computability
is Hausdorff computable.
However Q?(1,0 ? 0, 1) r,1 ? 0 ? R2
is not Hausdorff computable.
46
Hausdorff and Lebesgue computability
• Lebesgue computable ? Hausdorff computable
• Let 0 lt rn ? Q with rn ? r, left
computable, non-computable 0 lt r lt 1.
• Then r,1 ? 0 ? R2 is Lebesgue computable but
not Hausdorff computable.

47
Hausdorff and Lebesgue computability
• Hausdorff computable ? Lebesgue
computable Complement of a Cantor set with
Lebesgue measure
• 1 r with r lim rn left computable,
non-computable.
• stage 1
• stage 2
• At stage n remove 2n open mid-intervals of length
sn/2n.

0
1
s0
48
Hausdorff Computability
• We strengthen the notion of a computable solid by
using the Hausdorff distance d between compact
sets as a quantitative measure of convergence.
• (A , B) ? S k, kn is Hausdorff computable
• iff there exists an effective chain Kß(n) of
basis elements with ß a total recursive function
such that
• (A , B) ( ?n p1 ( K ß(n) ) ,
?n p2 ( K ß(n) ) )
• with
• d (p1 ( K ß(n) ) , A ) lt 1/2 n , d (p2 (
K ß(n) ) , B) lt 1/2 n
• d (p1 ( K ß(n) ) c, Ac) lt 1/2 n , d (p2 (
K ß(n) ) c , Bc) lt 1/2 n

49
(No Transcript)