Download Presentation
## Voronoi diagram of 3D spheres

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Voronoi diagram of 3D spheres**Deok-Soo Kim Reporter: 韩敬利**About author**Deok-Soo Kim Department of Industrial Engineering Hanyang University**Voronoi diagram in 2D**• Voronoi diagram of points • Voronoi diagram of a circle set**Voronoi diagram in 3D**• Voronoi diagram of points • Voronoi diagram of spheres**Motivation**Have significant applications in various fields For example • The structural analysis of proteins or RNA • Design of new materials**Previous Work**• Luchnikov VA, Medvedev NN, Oger L,Troadec J-P. Voronoi-Delaunay analyzis of voids in systems of nonspherical particles. Phys Rev E 1999;59(6):7205–12. • Kim D-S, Cho Y, Kim D. Edge-tracing algorithm for Euclidean Voronoi diagram of 3D spheres. In: Proceedings of the 16th Canadian Conference on Computational Geometry; 2004. p. 176–9. • Kim D-S, Cho Y, Kim D, Cho C-H. Protein structure analysis using Euclidean Voronoi diagram of atoms. In: Proceedings of the International Workshop on Biometric Technologies (BT2004); 2004. p. 125–9.**Some definitions**• Empty sphere • No five balls are cotangent to an empty sphere, so degree of a Voronoi vertex is four**Euclidean Voronoi diagram of 3D balls and its computation**via tracing edgesCAD 37(2005) • Input a set of ball, no ball is completely contained inside another ball even though intersections are allowed between balls • Output Voronoi diagram • Purpose and strongpoint an improved algorithm based on edge-tracing algorithm**content**G=(V,E)**Voronoi vertices**• The balls denote a vertice • Transforming the four-ball so that coincides with the origin**Voronoi edges**So a Voronoi edge is a planar conic curve and can be exactly represented in a form of a rational quadratic Bezier curve**Topology construction by tracing edges**• A true Voronoi vertex • Push the four edges and into a stack called an Edge-stack • Pop an edge from the stack, and compute the end vertex of the edge • Push the three new edges emanating from the compute point into stack • Iterated the process until the stack is empty**Previous algorithm**an edge e, three corresponding balls (gate balls), (candidate ball set) Step 1.for Step 1.1. compute a tangent sphere from and three gate balls Step 1.2. for , Step 1.2.1. if intersects then GOTO Step1. End-for**Previous algorithm**Step 1.3.queue into Q End-for Step 2. if Q if empty, the end vertex is infinity. Step 3. else, find S in Q closest to the start vertex, and use the center of S an the end vertex of the current edge.**Improved algorithm**Before definition are the gate balls of edge e, let be the smallest, is an end point of e is the center of**Improved algorithm**intersect ball , so considered as a candidate for the end vertex of the edge**Improved algorithm**So we can simply ignore from further consideration**Improved algorithm**Consider for candidate end vertex instead of**Improved algorithm**So we just find the smallest The smallest is the closet**Improved algorithm**Step 1.Compute a tangent sphere from three gate balls and in the candidate ball set K. Step 2. s . Step 3.for , step 3.1Compute a tangent sphere from three gate balls and step 3.2 if is closer to the start vertex then s, then s Step 4. Use the center of s as the end vertex of current edge**Compare**• Previous algorithm takes time in the worst-case • Improves algorithm takes time in the worst-case**Region-expansion for the voronoi diagram of 3D spheres CAD**38(2006) • Input a set of ball, no ball is completely contained inside another ball even though intersections are allowed between balls • Output Voronoi diagram • Purpose and strongpoint an excellent algorithm takes time**Basic method**• Compute the Voronoi diagram for the centers of spheres • Expanding the spheres one by one, and adjust the Voronoi diagram simultaneously • Get the complete Voronoi diagram**Problem**When a region is expanding, the upcoming event occurs at vertices or edges on the radiating-faces the key: solve the event Event : topology change**Definition**Voronoi vertex • : the Voronoi vertices on the boundary of an expanding region • : the other Voronoi vertices Voronoi edge • : the Voronoi edges on the expanding region • : the edges which have no on-vertex • : the other Voronoi edges radiating-edges**Definition**Voronoi face**Event**Three edge state • An meets an • An meets another • An meets an end-out state mid-out state split state For event**Three-end event ?**Such a situation is impossible. The voronoi region corresponding to three edges disappears when the edges disappear, but this cannot be realized.**Detection of event**Event Edge state ? How to identify the states of edges How to detect the corresponding events from states ?**Identify the states of edges**Edge state vertex state**Identify the states of edges**Vertex state • the edge starts to shrink from the vertex, We assign a ‘+’state to the vertex . • the edge disappears at the vertex, We assign a ‘−’state to the vertex**Vertex state**edge e three gate balls defining v incident toe a vertex sphere corresponds to v fixed tangent points reference tangent point touch point**Vertex state**Expanding generator Expanding generator**Identify the states of edges**• end-out state : e has both ‘+’and ‘-’ vertex state • mid-out state : e has two ‘+’ vertex state • split state • e has both ‘+’ and ‘-’ vertex state • e has no vertex**Exceptional case**The edge e has no vertex**Event time**When the event takes place during the region- expanding process ? Event time the radius of an expanding generator when an event occurs. In the algorithm, events are ordered and handled according to their event time.**Algorithm**1. Find all the edges bounding radiating-faces and insert them into a set E. 2. For each edge ,determine its event time t and state. If t< , insert into the event queue Q Which implements a priority queue. 3. Pop an edge from Q and determine the Corresponding event. If has end-out state, check if causes one-end-event or two-end- event by watching the next edges in Q with the same event time.**algorithm**4. Perform an appropriate action for the detected event. After treatment, find new edges bounding new radiating-faces and insert them into a set . Perform Step 2 for all edges in the edge set . 5. Repeat Steps 3 and 4 until Q is empty.**Experiment**Voronoi diagram for a protein data consisting of 63 atoms**Conclusion**In this paper, we present a region-expansion algorithm for constructing a Voronoi diagram for spheres by handling events from the ordinary Voronoi diagram for the centers of the spheres. The algorithm can compute the whole Voronoi diagram in O(n3) time in the worst-case where n is the number of spheres.**Future work**• The order of expanding spheres in the region-expansion process may influence the amount of computation. • Acceleration and robustness.