Voronoi Diagram – Fortune ’ s Algorithm Reporter: GI1 11 號 蔡逸凡 Date: 2004/10/28 Reference: Computational Geometry ch7 ISBN: 3-540-65620-0.

Slides:



Advertisements
Similar presentations
Line Segment Intersection. Balanced binary search tree Internal nodes: Rightmost leaf in its left subtree Status Structure T.
Advertisements

Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
CIRCUMFERENCE AND CIRCLE
The Kauffman Bracket as an Evaluation of the Tutte Polynomial Whitney Sherman Saint Michael’s College.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Overlay of Two Subdivisions
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Computational Geometry and Spatial Data Mining
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Geometry Section 10.4 Angles Formed by Secants and Tangents
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
Geometry 11.4 Circumference and Arc Length. July 2, 2015Geometry 11.4 Circumference and Arc Length2 Goals  Find the circumference of a circle.  Find.
Brute-Force Triangulation
Circles. A circle is the set of all points in a plane that are at a given distance from a center. What is it?
GeometryGeometry 10.2 Arcs and Chords Geometry Mrs. Spitz Spring 2005.
Properties of Circles Geometry Chapter 10 Geometry 10.
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Geometry Arcs and Chords September 13, 2015 Goals  Identify arcs & chords in circles  Compute arc measures and angle measures.
Circle Geometry.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Grade 12 Trigonometry Trig Definitions. Radian Measure Recall, in the trigonometry powerpoint, I said that Rad is Bad. We will finally learn what a Radian.
Lines and Angles Terra Alta/East Preston School Geometry Unit.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Line Arrangement Chapter 6. Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision.
Geometry B Section 12.3 Surface Area of Pyramids and Cones.
Unit 9: Geometry – 6th Grade
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Week Aug-24 – Aug-29 Introduction to Spatial Computing CSE 5ISC Some slides adapted from Worboys and Duckham (2004) GIS: A Computing Perspective, Second.
11.1 Angles and Circles Learning Objective: To identify types of arcs and angles in a circle and to find the measures of arcs and angles. Warm-up (IN)
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
Voronoi Diagram (Supplemental)
10.3 Arcs and Chords Geometry.
Geometric Constructions October - Ch. 3 Part of Unit 2 – Lines & Angles.
GeometryGeometry 6.2 Arcs and Chords Homework: Lesson 6.2/1-12,18 Quiz on Friday on Yin Yang Due Friday.
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Entry Task Circles and Arcs What is a circle? Circle The set of all points in a plane that are the same distance from a given point (this point.
Constructions Bisect – To divide something into two equal parts Perpendicular – Lines that intersect to form right angles. Today’s constructions: –Bisect.
{ Constructions Duplicating and Line and an Angle.
Circles and terms related to them
Computational Geometry
Robust and Fast Algorithm for a Circle Set Voronoi Diagram in a Plane
(Slides mostly by Allen Miu)
Other Angle Relationships in Circles
Geometry Notes: Vocabulary
Arcs and Central Angles
Circles – Modules 15 Materials: Notes Textbook Compass Straight Edge
Computational Geometry Capter:1-2.1
Iterative Deletion Routing Algorithm
Chapter 7 Voronoi Diagrams
Computational Geometry for the Tablet PC
I. The Problem of Molding
Prof. Harriet Fell Fall 2011 Lecture 9 – September 26, 2011
Determining Chord Length
Computational Geometry
Circumference and Area: Circles
Overlay of Two Subdivisions
PRO-DESKTOP TUTORIAL 2. Use Shift+w to have the workplane facing you.
6.5 Apply Other Angle Relationships in Circles
Presentation transcript:

Voronoi Diagram – Fortune ’ s Algorithm Reporter: GI1 11 號 蔡逸凡 Date: 2004/10/28 Reference: Computational Geometry ch7 ISBN:

Fortune ’ s Algorithm (summary) HandleSiteEvent(pi) 1.Search T for arc directly above pi; delete circle events associated with this arc 2.Add arc of pi into T (with two new break points, ) 3.[DCEL] edge between 4.Detect circle events where the new arc is the left arc in a triple of consecutive arcs HandleCircleEvent(pl) 1.Delete disappearing arc from T and its associated circle events from Q 2.[DCEL] Center of circle as vertex in V.diagram 3.Check new triples for circle events (only if the circle intersects sweep line and not yet in Q) 4.[DCEL] create edges due to disappearing arc

From the Textbook These can be ignored if using simplified T

From the Textbook

Case 1 Initially: Q={p1,p2,p3} T ={} D={} p1 p2 p3

Case 1(cont) SiteEvent(p1) Q={p2,p3} T ={p1} D={} Entries in T : the arcs induced by the sites

Case 1 (Cont) SiteEvent(p2) Q={p3} Arc above: p1 T ={p1,p2,p1} D={e1= } The arcs in T (bottom to top) Here two p1 represents different segments of the arc!

Case 1 (Cont) SiteEvent (p3) Q={} Arc above: p1 T ={p1,p2,p1,p3,p1} D={e1,e2= } Detect circle event: c1: → add c1 in Q

Case 1 (Cont) CircleEvent (c1) Q={} Disappearing arc: p1 T ={p1,p2,p1,p3,p1} D={e1,e2,v=, e3= } 

Case 1 (Cont) Finally, Q={} T ={p1,p2,p3,p1} D={e1,e2,v,e3}

Case 2 Initially: Q={p1,p2,p3,p4} T ={} D={}

Case 2(cont) SiteEvent(p1) Q={p2,p3,p4} T ={p1} D={} p1 p2 p4 p3

Case 2 (Cont) SiteEvent(p2) Q={p3,p4} Arc above: p1 T ={p1,p2,p1} D={e1= }

Case 2 (Cont) SiteEvent(p3) Q={p4} Arc above: p1 T ={p1,p3,p1,p2,p1} D={e1,e2= } Detect circle event: c1: → add c1 in Q={p4,c1} Make a note that c1 is due to

Case 2 (Cont) SiteEvent(p4) Q={c1} Arc above: p1 Delete c1 from Q T ={p1,p3,p1,p4,p1,p2,p1} D={e1,e2,e3= } Detect circle event: c2, c3

Case 2 (Cont) CircleEvent(c2) Q={c3} Disappearing arc: p1 T ={p1,p3,p1,p4,p1,p2,p1} D={e1,e2,e3,v1=, e4= } 

Case 2 (Cont) CircleEvent(c3) Q={} Disappearing arc: p1 T ={p1,p3,p4,p1,p2,p1} D={e1,e2,e3,v1,e4,v2=, e5= } 

Case 2 (Cont) Finally, Q={} T ={p1,p3,p4,p2,p1} D={e1,e2,e3,v1,e4,v2,e5}

Case 3 Initially: Q={p1,p2,p3,p4} T ={}

Case 3 (cont) SiteEvent (p1) Q={p2,p3,p4} T ={p1}

Case 3 (cont) SiteEvent (p2) Q={p3,p4} Arc above: p1 T ={p1,p2,p1} D={e1= }

Case 3 (cont) SiteEvent (p3) Q={p4} Arc above: p1 T ={p1,p2,p1,p3,p1} D={e1,e2= } Circle event c1 Q={p4,c1}

Case 3 (cont) SiteEvent (p4) Q={c1} Arc above:p3; remove c1 T ={p1,p2,p1,p3,p4,p3,p1} D={e1,e2,e3= } Circle event c2 Q={c2}

Case 3 (cont) CircleEvent (c2) Q={} Disappearing arc p3 T ={p1,p2,p1,p3,p4,p3,p1} D={e1,e2,e3,v1=,e4= } Circle event c3 Q={c3} 

Case 3 (cont) CircleEvent (c3) Q={} Disappearing arc p1 T ={p1,p2,p1,p4,p3,p1} circle before sweep line D={e1,e2,e3,v1,e4,v2=, e5= } 

Case 3 (cont) Finally: D={e1,e2,e3,v1, e4,v2, e5}

Case 4 Initial: Q={p1,p2,p3,p4} B={} D={} SiteEvent(p1) Q={p2,p3,p4} T ={p1} D={}

Case 4 (Cont) SiteEvent(p2) Q={p3,p4} Arc above: p1 T ={p1,p2,p1} D={e1= }

Case 4 (Cont) SiteEvent(p3) Q={p4} Arc above: p1 T ={p1,p2,p1,p3,p1} D={e1,e2= } Detect circle event: c1: → add c1 in Q

Case 4 (Cont) CircleEvent(c1) Q={p4} Disappearing arc: p1 T ={p1,p2,p1,p3,p1} D={e1,e2,v1=,e 3= } 

Case 4 (Cont) SiteEvent(p4) Q={} Arc directly above: p2 T ={p1,p2,p4,p2,p3,p1} Circle event c2 D={e1,e2,v1,e3,e4= } P4 is equal distance to p2 & p3

Case 4 (Cont) CircleEvent(c2) Q={} Disappearing arc: p2 T ={p1,p2,p4,p2,p3,p1} D={e1,e2,v1,e3,e4,v2=, e5= } 

Case 4 (Cont) Finally, D={e1,e2,v1,e3,v2,e3,e4,e5}

Case 5 SiteEvent(p1) Q={p2,p3,p4} T ={p1} D={}

Case 5 (cont) SiteEvent(p2) Q={p3,p4} Arc above: p1 T ={p1,p2,p1} D={e1= }

Case 5 (cont) SiteEvent(p3) Q={p4} Arc above: p1 T ={p1,p3,p1,p2,p1} D={e1,e2= } Detect circle event: c1: → add c1 in Q

Case 5 (cont) CircleEvent(c1) Q={p4} Disappearing arc: p1 T ={p1,p3,p1,p2,p1} D={e1,e2,v1=,e3 = } 

Case 5 (cont) SiteEvent(p4) Q={} Arc above: p2 T ={p1,p3,p2,p4,p2,p1} D={e1,e2,v1,e3,e4= } Detect circle event: c2: → add c2 in Q

Case 5 (cont) CircleEvent(c2) Q={} Disappearing arc: p2 T ={p1,p3,p2,p4,p2,p1} D={e1,e2,v1,e3,e4,v2=,e5= } 

Case 5 (cont) Finally, D={e1,e2,v1,e3,e4,v2, e5}

Questions  How do I know which one is the arc above? Location above  How to know which arc is disappearing Location above?!  Link between circle event and arc Things in T should be arcs (with a corresponding site)  Degeneracy: 4points on a circle Does it matter?