34
Alpha Shapes

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

Embed Size (px)

Citation preview

Page 1: 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

Alpha Shapes

Page 2: 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

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

Page 3: 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

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.

Page 4: 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

Convex Hulls

The smallest convex set that contains the entire point set.

Page 5: 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

Triangulations

Page 6: 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

Triangulations

Page 7: 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

Voronoi Diagrams

This set is a convex polyhedra since it is an intersectionof half spaces. These polyhedra define a decompositionof Rd. The voronoi complex V(P) of P is the collectionof all voronoi objects.

Delaunay complex is the dual of the voronoi complex.

Page 8: 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

Delaunay Triangulations

Page 9: 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

Voronoi Diagrams

• Post offices for the population in an area

• Subdivision of the plane into cells.

• Always Convex cells

• Curse of Dimension cells.)( 2

d

n

Page 10: 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

Lifting Map: Magic Map Map Convex Hull back -> Delaunay Map mapped back to lower

dimension is the Voronoi diagram!!!

),,(),( 22yxyxyx pppppp

)(22:)( 22yxyx ppypxpzph

h

Page 11: 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

Other Definitions General Position of points in k-simplex, Simplicial Complex Flipping in 2D and 3D

dR

Page 12: 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

k-simplex

Page 13: 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

Simplicial Complex

Delaunay triangulations are simplicial complexes.

Page 14: 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

Flipping

Page 15: 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

Alpha Shapes

The space generated by point pairs that can be touched by an empty disc of radius alpha.

Page 16: 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

Alpha Shapes

Alpha Controls the desired level of detail.

Page 17: 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

Sample Outputs

Page 18: 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

Sample Output

Page 19: 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

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)

Page 20: 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

Delaunay: How???

Lot of Algorithms available!!! Incremental Flipping? Divide and Conquer? Sweep? Randomized or Deterministic? Do I calculate Voronoi or Delaunay?? . . . . . . . . . . ( I got confused )

Page 21: 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

Predicates?? What are Predicates??? Why do I bother?? Which one do I pick? When do I use Exact Predicates? What else is available?

Page 22: 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

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

Page 23: 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

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

Page 24: 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

That was simple!

})(,)(||)(||{)( 2222 BqbqwxqpwxpRxpV d

Weighted Voronoi: Seems not so tough yet

Page 25: 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

An example in the dual

Courtesy Dey, Giesen and John 04.

Edelsbrunner: Union of balls and alpha shapes are homotopy equivalent for all alpha.

Page 26: 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

What Next?

The Dual Complex: Assuming General position, at most3 Voronoi Cells meet at a point.

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

Page 27: 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

Example of Dynamic Balls!

Page 28: 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

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 )

Page 29: 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

Filter and Filtration

n ,...,,,, 3210

A Filter!!!! (an order on the simplices)

A Filtration??? (sequence of complexes)

Delaunayn ,...,,,}{ 210

Page 30: 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

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

Alpha Shapes in 3D!!

Covers, Nerves, Homotopy, Homology?? (Keep Away for now)

)( 2nO

Page 31: 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

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!

Page 32: 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

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

Page 33: 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

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.

Page 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

That’s all Folks