Está en la página 1de 34

Alpha Shapes

Used for
 Shape Modelling
 Creates shapes out of point sets
 Gives a hierarchy of shapes.
 Has been used for detecting pockets in
proteins.
 For reverse engineering
Convexity
A set S in Euclidean space is said to be convex if every straight line segment
having its two end points in S lies entirely in S.
Convex Hulls

The smallest convex set that contains the entire point set.
Triangulations
Triangulations
Voronoi Diagrams

This set is a convex polyhedra since it is an intersection


of half spaces. These polyhedra define a decomposition
of Rd. The voronoi complex V(P) of P is the collection
of all voronoi objects.

Delaunay complex is the dual of the voronoi complex.


Delaunay Triangulations
Voronoi Diagrams
• Post offices for the population in an area

• Subdivision of the plane into cells.

• Always Convex cells


d 
2
• Curse of Dimension (n  
) cells.
Lifting Map: Magic
 Map ( px , p y )  ( px , p y , px2  p y2 )
 Map Convex Hull back -> Delaunay
 Map h( p) :z  2 px x 2 p y y ( px2  p y2 )

  h mapped back to lower dimension is
the Voronoi diagram!!!
Other Definitions
d
 General Position of points in R
 k-simplex, Simplicial Complex
 Flipping in 2D and 3D
k-simplex
Simplicial Complex

Delaunay triangulations are simplicial complexes.


Flipping
Alpha Shapes

The space generated by point pairs that can be touched by an


empty disc of radius alpha.
Alpha Shapes

Alpha Controls the desired level of detail.

 
Sample Outputs
Sample Output
Implementing Alpha Shapes
 Decide on Speed / Accuracy Trade off
 Exact Arithmetic : Keep Away
 SoS : Keep Away
 Simple Solution: Juggle Juggle and
Juggle
(To get to General Position)
Delaunay: How???
Lot of Algorithms available!!!
 Incremental Flipping?

 Divide and Conquer?

 Sweep?

 Randomized or Deterministic?

 Do I calculate Voronoi or Delaunay??

 . . . . . . . . . .

( I got confused  )
Predicates??
 What are Predicates???
 Why do I bother??
 Which one do I pick?
 When do I use Exact Predicates?
 What else is available?
What Data Structure!
 What data structure is used to compute
Delaunay?
 Which algorithm is easy to code?
 How do I implement the Alpha Shape in my
code?
 Any example codes available to cheat?

“Creativity is the art of hiding Sources!”


Theory
 Its not so bad…;)
 Lets get started, Simple things first
 Union of Balls

“If the facts don't fit the theory, change the facts.”
--Albert Einstein
That was simple!
V ( p )  {x  R | xp |  w( p) | xq |  w(q ) , b(q )  B}
d 2 2 2 2

Weighted Voronoi: Seems not so tough yet


An example in the dual

Edelsbrunner: Union of balls and alpha shapes are


homotopy equivalent for all alpha.

Courtesy Dey, Giesen and John 04.


What Next?
The Dual Complex: Assuming General position, at most
3 Voronoi Cells meet at a point.

For fixed weights, alpha, It’s a alpha complex!


Example of Dynamic Balls!
Alpha Complex

The subset of delaunay tesselation in d-


dimensions that has simplices having
Circumradius greater than Alpha.

It’s a Simplicial Complex all the way


( for a topologist )
Filter and Filtration
A Filter!!!! (an order on the simplices)

   0 , 1 ,  2 ,  3 ,...,  n

A Filtration??? (sequence of complexes)

{}  0 , 1 , 2 ,..., n  Delaunay


Filteration???
 Filteration = All Alpha Shapes!!!

 O(n ) Alpha Shapes in 3D!!


2

 Covers, Nerves, Homotopy, Homology??


(Keep Away for now) 
Alpha Shapes??
 What the hell were Alpha Shapes???

As the Balls grow(Alpha becomes bigger) on


the input point set, the dual marches thru the
Filteration, defining a set of shapes.

That’s it!! Wasn’t it a cute idea for 1983! 


So Far So Good!
 How do I calculate Alpha?? 
 How do I decide the weights for a
weighted Alpha shape? 
 Is there an Alpha Shape that is
Piecewise Linear 2-Manifold?
 Isnt the sampling criterion too strict??
 Delaunay is Costly , Can we use Point
Set Distribution information??
Future Work
 U want to work on Alpha Shapes??
(And get papers accepted too, That’s tough)
 Alpha shapes is old now, u could try
something new!
 What else can we try? Try Energy
Minimization, Optimization! Noise. With
provability thrown in, That is still open.
That’s all Folks

También podría gustarte