Voronoi diagram of 3D spheres
description
Transcript of Voronoi diagram of 3D spheres
Voronoi diagram of 3D spheres
Deok-Soo Kim
Reporter: 韩敬利
About author
Deok-Soo KimDepartment of Industrial EngineeringHanyang University
Voronoi diagram in 2D Voronoi diagram of points
Voronoi diagram of a circle set
1,p
1 2
1 2
{ , ,..., }
( ) { | ( , ) ( , ), }
( ) { ( ), ( ),..., ( )}
n
i i j
n
P p p p
VR p p d p p d p p i j
VD p VR p VR p VR p
2
{ | 1,2,..., }
( , )
( ) { | ( , ) ( , ) , }
i
i i i
i i i j j
C c i n
c p r
VR c p R d p p r d p p r i j
Voronoi diagram in 3D Voronoi diagram of points
Voronoi diagram of spheres
1 2
1 2
{ , ,..., }
( ) { | ( , ) ( , ), }
( ) { ( ), ( ),..., ( )}
n
i i j
n
P p p p
VR p p d p p d p p i j
VD p VR p VR p VR p
3
{ | 1,2,..., }
( , )
( ) { | ( , ) ( , ) , }
i
i i i
i i i j j
S s i n
s p r
VR s p R d p p r d p p r i j
Motivation
Have significant applications in various fieldsFor 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 s
phere, so degree of a Voronoi vertex is four
1 2{ , ,..., }nB b b b
Euclidean Voronoi diagram of 3D balls and its computation via tracing edgesCAD 37(2005)
Input a set of ball, no ball is completely contai
ned inside another ball even though intersections are allowed between balls
Output Voronoi diagram Purpose and strongpoint an improved algorithm based on edge-tr
acing algorithm
content
G=(V,E)
Voronoi vertices The balls denote a vertice Transforming the four-ball so that coi
ncides with the origin
1 2 3 4, , ,b b b b
4b
2 2 2 21 1 1 1
2 2 2 22 2 2 2
2 2 2 23 3 3 3
2 2 2 2
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
x x y y z z r r
x x y y z z r r
x x y y z z r r
x y z r
1 1 1 1
2 2 2 2
3 3 3 3
x y z r
x y z r
x y z r
Voronoi edges2 2 2 2
1 1 1 1
2 2 2 22 2 2 2
2 2 2 2
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
x x y y z z r r
x x y y z z r r
x y z r
2 2 2 21 1 1 1 1 1 1 1
2 2 2 22 2 2 2 2 2 2 2
2 2 2 2
( ) / 2 0
( ) / 2 0
x x y y z z x y z r r r
x x y y z z x y z r r r
x y z r
Voronoi edges
2 20 0 1 1 2 2
2 20 1 2
(1 ) 2 (1 )( )
(1 ) 2 (1 )
w t p w t tp w t pt
w t w t t w t
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 comput
e the end vertex of the edge Push the three new edges emanating from t
he compute point into stack Iterated the process until the stack is empty
0v0 1 2, ,e e e 3e
Previous algorithm
ks
ks
an edge e, three corresponding balls (gate balls), (candidate ball set)
1 2 3, ,g g gb b b
1 2 3\{ , , }g g gK B b b bStep 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
kb K
ks kb
\{ }l kb K b
lbks
Previous algorithm
Step 1.3.queue into QEnd-forStep 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.
ks
Improved algorithm
Before definition
1s gv c p
1gc
1 2 3, ,g g gb b b are the gate balls of edge e, let be the smallest, is an end point of e
sv1gb
is the center of
1gb
Improved algorithm
intersect ball , so considered as a candidate for the end vertex of the edge
is jb ejv
i j
Improved algorithm
i j So we can simply ignore from further consideration
jb
Improved algorithm
i j Consider for candidate end vertex instead of
ejveiv
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
1s1b
1s1\{ }kb K b
kskb
ksks
Compare
Previous algorithm takes time in the worst-case Improves algorithm takes time in the worst-case
2( )O n
( )O n
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 3( )O n
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
Basic method
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
: 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
offE
Voronoi vertexonV
offV
radE
onE
Definition
Voronoi face
onF
offF
radF
Event
Three edge state An meets an An meets another An meets an
onV offV
onVonV
onE offE
end-out statemid-out
statesplit stateFor event
end-out state
mid-out state
split state
One-end-eventTwo-end-event
Mid-event Split-event
Three-end event ?
Such a situation is impossible.The voronoi region corresponding to thre
e edges disappears when the edges disappear, but this cannot be realized.
One-end-event
Two-end-event
Mid-event
Split-event
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 stateedge e
three gate balls
defining v incident to e
a vertex sphere corresponds to v
fixed tangent points
reference tangent point
touch point
, ,l j ks s s
, , ,l j k ls s s s
( )S v
( , )H e v
( , )H e v
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.
\r one E E
ir re
qe
qeqe
newE
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.
newE
algorithm
Experiment
Voronoi diagram for a protein data consisting of 63 atoms
Compare
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.