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