Presentation on theme: "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."— Presentation transcript:
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.
Voronoi Diagrams This set is a convex polyhedra since it is an intersection of half spaces. These polyhedra define a decomposition of R d. The voronoi complex V(P) of P is the collection of all voronoi objects. Delaunay complex is the dual of the voronoi complex.
Voronoi Diagrams Post offices for the population in an area Subdivision of the plane into cells. Always Convex cells Curse of Dimension cells.
Lifting Map: Magic Map Map Convex Hull back -> Delaunay Map mapped back to lower dimension is the Voronoi diagram!!!
Other Definitions General Position of points in k-simplex, Simplicial Complex Flipping in 2D and 3D
Simplicial Complex Delaunay triangulations are simplicial complexes.
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.
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! Weighted Voronoi: Seems not so tough yet
An example in the dual Courtesy Dey, Giesen and John 04. Edelsbrunner: Union of balls and alpha shapes are homotopy equivalent for all alpha.
What Next? The Dual Complex: Assuming General position, at most 3 Voronoi Cells meet at a point. For fixed weights, alpha, Its 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. Its a Simplicial Complex all the way ( for a topologist )
Filter and Filtration A Filter!!!! (an order on the simplices) A Filtration??? (sequence of complexes)
Filteration??? Filteration = All Alpha Shapes!!! Alpha Shapes in 3D!! 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. Thats it!! Wasnt 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, Thats 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.