Voronoi diagram of 3D spheres

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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.

Recommended