SlideShare una empresa de Scribd logo
1 de 119
A Tutorial on  Computational Geometry Pham Minh Tri Ph.D. Candidate and Project Officer School of Computer Engineering 1 Mar 2008 presented by
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Point Inside Polygon Test ,[object Object],[object Object],[object Object]
Ray Test ,[object Object],[object Object],[object Object],[object Object]
Problems With Rays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problems With Rays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problems With Rays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way ,[object Object]
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way
A Better Way ,[object Object]
Requirements ,[object Object],[object Object],[object Object]
Computing Winding Number ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Convex Hulls Subset of S of the plane is convex, if for all pairs p,q  in S  the line segment pq is completely contained in S.  The  C onvex  Hull   CH(S)  is the smallest convex set, which contains S. p q pq p q pq
Convex hull of a set of points in the plane The convex hull of a set P of points is the unique convex  polygon whose vertices are points of P and which contains all points from P. Rubber band experiment
Convex Hull ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Graham Scan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Graham-Scan :  (1/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12
Graham-Scan :(1/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 1.Calculate polar angle 2.Sorted by polar angle
Graham-Scan : (2/11) p 2 p 1 p 0 Stack  S : p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12
Graham-Scan : (3/11) Stack  S : p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 3 p 1 p 0
Graham-Scan : (4/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 4 p 3 p 1 p 0 Stack  S :
Graham-Scan  (5/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 5 p 3 p 1 p 0 Stack  S :
Graham-Scan  (6/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 8 p 7 p 6 p 5 p 3 p 1 p 0 Stack  S :
Graham-Scan  (7/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 9 p 6 p 5 p 3 p 1 p 0 Stack  S :
Graham-Scan  (8/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 10 p 3 p 1 p 0 Stack  S :
Graham-Scan  (9/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 11 p 10 p 3 p 1 p 0 Stack  S :
Graham-Scan  (10/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 12 p 10 p 3 p 1 p 0 Stack  S :
Time complexity  Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Line segment intersection ,[object Object],[object Object],[object Object],[object Object]
Line segment intersection ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sweep Line Algorithm Avoid testing pairs of segments that are far apart .  Idea :  imagine  a vertical sweep line passes through the given set of line segments, from left to right.  Sweep line
Assumption on Non-degeneracy No segment is vertical.  // the sweep line always hits a segment at // a point.  If  a segment is vertical, imagine we rotate it clockwise by a tiny angle. This means: For each vertical segment, we will consider its lower endpoint before upper point.
Sweep Line Status The set of segments intersecting the sweep line.  It changes as the sweep line moves, but  not continuously .  Updates of status happen only at  event points .  left endpoints right endpoints intersections event points A G C T
Ordering  Segments ,[object Object],[object Object],[object Object],[object Object],A B C D E B > C > D (A and E not in the ordering) C > D (B drops out of the ordering) At an event point, the sequence of segments changes:     Update the status.    Detect the intersections. D > C (C and D swap their positions)
Status Update (1) ,[object Object],[object Object],L M K ,[object Object],[object Object],[object Object],new event point ,[object Object],[object Object],Event point is the left endpoint of a segment. N K, M, N K, L, M, N O
Status Update (2) ,[object Object],[object Object],L M K ,[object Object],[object Object],[object Object],Event point is an intersection. N O O, L, M, N O, M, L, N
Status Update (3) ,[object Object],[object Object],L M K ,[object Object],[object Object],Event point is a lower endpoint of a segment. N O, M, L, N O, L, N O
Data Structure for Event Queue Data structure: balanced binary search tree (e.g.,  red - black  tree).  Ordering of event points:  by  x -coordinates by  y -coordinates in case of a tie in  x -coordinates. Supports the following operations on a segment  s .     inserting an event    fetching the next event  Every event point  p  is stored with all segments starting at  p . //  O (log  m ) //  O (log  m ) m  = # event points in the queue
Data Structure for Sweep-line Status Describes the relationships among the segments intersected  by the sweep line.  Use a balanced binary search tree  T   to support the following  operations on a segment  s .  Insert( T ,  s )   Delete( T ,  s ) Above( T ,  s )   // segment immediately above  s   Below( T ,  s )   // segment immediately below  s e.g , Red - black   trees, splay trees   ( key comparisons replaced  by cross-product comparisons ) .   O (log  n )   for each operation.
An Example L K M N O K L O N M K L N O  The bottom-up order of the segments correspond to the  left-to-right   order of the leaves in the tree  T .     Each internal node stores the segment from the rightmost leaf in its  left subtree.
The Algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Handling Event Points Status updates (1) – (3) presented earlier.  Degeneracy : several segments are involved in one event point (tricky). T: (a) Delete  D, E,  A, C   (b) Insert  B ,  A, C   p A B C C A D G E H l D D A G E H C A C G E G C H A B A G C B
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivation Transformation of a topographic map into a perspective view
Terrains Given:   A number of sample points  p 1 ..., p n Requir ed:   A triangulation  T  of the points resulting in a “realistic” terrain. "Flipping" of an edge: 900 930 20 50 900 930 20 50 Goa l:   Maximise  the minimum angle in the triangulation
Triangulation of  Planar   Point   Sets Given:   Set   P  of  n   points in the  plane  (not all  collinear ). A  triangulation  T(P)  of  P   is a planar subdivision of the  convex hull of  P   into triangles with vertices from  P . T(P)   is a maximal planar subdivision. For a given point set there are only fin itel y many different triangulations.
Size of Triangulations Theorem :  Let  P  be a set of  n  points  in the plane, not all collinear and let  k  denote the number of points in  P  that lie on the boundary of the convex hull for  P . Then any trianglation of  P  has  2n-2-k   triangles and  3n-3-k  edges. Proof : Let  T  be triangulation of  P , and let  m  denote the  #  of triangles of  T .  Each triangle has 3 edges,  and  the  unbounded face has  k  edges .      n f  = #  of  faces of  t riangulation  =  m + 1 every  edge  is incident to exactly  2   faces .  Hence, # of edges  n e  =  (3m +k)/2 .  Euler ‘s  formula   :  n  - n e  +  n f  = 2 . Substituting values of  n e  and  n f  , we obtain:   m = 2n – 2 – k  and  n e  = 3n – 3 – k  .
Angle Vector Let  T(P)  be a triangulation of  P   (   set  of n points ) .  Suppose  T(P)  has  m  triangles.   Consider  the  3m  angles  of triangles of  T(P) ,  sorted by increasing value . A(T) = { a 1 ..., a 3m  }   is called  angle- vector  of   T . Triangulations can be sorted in lexicographical order according to  A(T). A triangulation  T(P)  is called  angle-optimal   if  A(T(P))     A(T´(P))   for all triangulations  T´  of  P .
Illegal Edge a 1 ‘   a 2 ‘   a 4 ‘   a 3 ‘   a 5 ‘   a 6 ‘   P k P j  P i  Edge flip    The edge  p i  p j  is illegal  if   ‘ i Note:  Let  T  be a triangulation with an illegal edge  e .  Let  T´   be the triangulation obtained from  T  by flipping  e .  Then,  A(T´)     A(T) .  i   Consider a quadrilateral: a 1 a 2 a 6 a 5 a 3 a 4 P j  P i
Legal Triangulation Definition :  A triangulation  T(P)   is called  a legal triangulation ,    if   T(P)   does not contain any illegal edges. Test for illegality Lemma : Let edge  p i  p j  be incident to triangles  p i  p j  p k and  p i  p j  p l   , and let  C  be the circle thru  p i , p j   and  p k . The edge  p i  p j  is illegal  iff   the point  p l  lies in the interior of  C . Furthermore, if the points  p i , p j , p k , p l  form a convex quadri- lateral and do not lie on a common  circle, then exactly one of  p i  p j   or p k  p l   is an illegal edge. P i P k P j P l
Test of Illegality Observation: p l  lies inside the circle through  p i , p j   and  p k  iff  p k  lies inside the circle through  p i , p j , p l  . When all four points lie on circle, both p i  p j   and  p k  p l  are legal. P i P k P j P l P i P k P j P l
Thales Theorem ,[object Object],illegal Lemma:  Let  C   be   the circle through the  triangle  p i ,  p j ,  p k  and let  the  point   p l  be the fourth point of a quadrilateral. The edge  p i  p j  is illegal iff  p l  lies in the interior of  C. a b p q r s p i p j p k p l
Thales Theorem Consider the quadrilateral with  p l  in the  interior of the  circle  that goes through   p i ,  p j ,  p k .  Claim:  The minimum angle  does  not occur at  p k ! (likewise:  Minimum angle  does  not occur at  p l  ) G oal: Show that  p i  p j   is  illegal p i p j p l p k p i p j p l p k
W.l.o.g.  a 4  minimal Thales Theorem: Proof a 1 ‘ > a 4 a 2 ‘ > a 2 p i p j p k p l a 1 a 2 a 3 a 4 p i p j p k p l a 1 a 2 a 3 a 4 a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘ p i p j p k p l a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘
Circle criterion  violated    illegal  edge Thales Theorem: Proof a 4 ‘ > a 1 a 3 ‘ > a 3 Hence, min{a i ‘} > min{a i } p i p j p k p l a 1 a 2 a 3 a 4 a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘
Circle Criterion Definition: A triangulation fulfills the  circle criterion  if and only if   the  circumcircle  of each triangle of the triangulation does not contain any  other  point in its  interior .
Theorems  Theorem: A  triangulation  T(P)   of a  set   P  of points  does not contain an illegal edge  if and only if  nowhere the circle criterion is  violated . Theorem: Every triangulation  T(P)   of a set  P  of points can be finally transformed into an  angle-optimal  triangulation in a finite number of steps.
Definition of the Delaunay Triangulation A triangulation T(P) is a Delaunay Triangulation of  P,  denoted as  DT(P),   if and only if  the circumcircle of any triangle of  T  does not contain any other point of  P  in its interior  (i.e. T fulfills the circle criterion).
Equivalent Characterisations of the Delaunay Triangulation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Algorithm DT(P) (randomized, incremental) Given:  Point set  P = {p 1 ..., p n  } Initially :  Compute triangle   (x, y, z) ,  which includes the points    p 1 ..., p n . m z (0,3m) y (3m,0) x (-3m,-3m)
Algorithm DT(P) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inserting a Point p i p j p r 2 cases   :  p r  is  inside a triangle    p r  is on an edge p i p j p k p r p l p i p j p k p r Legalize  (p r  ,p i  p j  ,T): if   p i  p j  is illegal   then let  p i  p j  p k  be the triangle adjacent to  p r  p i  p j  along  p i  p j . flip  p i  p j  , i.e. replace  p i  p j  by  p r  p k Legalize  (p r  , p i  p k , T) Legalize  (p r  , p k  p j , T)
Algorithm Delaunay Triangulation  Input:  A set of p oint s   P = {p 1 ..., p n  }   in general position Output :  The   Delaunay triangulation DT(P) of  P   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Correctness Lemma : Every new edge created in the algorithm for constructing DT during the intersection of  p r  is an edge of the Delaunay graph of       { p 1 ,...,p r  }  . pq   is a  Delaunay edge  iff   there is a   (empty) circle, which contains only  p  and  q  on the  circumference . Proof idea   :   Shrink a circle  which was empty before addition of  p r   !
Correctness Observation:  After insertion of  p r  , every new edge produced by edge-flips is incident to  p r !  Correctness of the algorithm : Consider newly produced edges: p r p r
Edge Flips Edge-flips produce only legal edges. Before inserting  p r   ,  circle  that goes through   p i , p j , p k   was empty! Edge- flips   produce  edges that are  always in c ident  to  p r   ! p r p i p j p k
Data Structure for Point Location t 1 t 2 t 4 t 5 t 3 t 6 t 7    Split t 1 p i p j p i p k t 1 t 2 t 3 t 2 t 3 t 4 t 5 t 4 t 6 t 7 t 1 t 2 t 3 t 1 t 2 t 3 t 1 t 2 t 4 t 5 t 3    flip  p i  p j    flip  p i  p k
Analysis of the Algorithm Lemma : The expected number of triangles created by the incremental algorithm for constructing DT(P) is atmost  9n + 1 .
Analysis of the Runtime Theorem : The Delaunay triangulation of a set of  P  of  n  points in the plane can be computed in  O(n  log  n)  expected time, using O(n)  expected storage. Proof : Running time without Point Location : Proportional to the number of created triangles =  O(n). Point Location : The time to locate the point  p r  in the current triangulation is linear in the number of nodes of  D  that we visit.
Relation to Euclidean MST ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Geometry and Air Traffic Control »  Avoid collisions at all costs. »  Start by f inding the two aeroplanes closest to each other, at specific elevations. »   During peak times over 5000 planes, per hour, around Frankfurt airspace.
Geometry and Astronomy »   Find the two nearest objects in space.
Search Quickly… and  Why ? »   Find the two nearest objects in space.
Problem Description ,[object Object],[object Object],[object Object],[object Object],[object Object]
Closest Pair of Points ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Algorithm: DAC – Divide ,[object Object],[object Object],S L S R
Algorithm: DAC – Conquer ,[object Object],S L S R
Algorithm: DAC – Merge (Strip-Margins) ,[object Object],[object Object],S L S R  S  S  = min(12,21)
Handling Merge ,[object Object],[object Object],S L S R  S  S  = min(12,21)
Comparing Efficiently ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object], S  S
Closest Pair: DAC Algorithm ,[object Object],Sort all  n  points in ascending  x -coordinate order Compute the median line  L , and divide  S  into  S L  and  S R Set   SL      Closest-Pair ( S L ) Set   SR      Closest-Pair ( S R ) Set   S     min(  SL ,  SR ) Delete all points further than   S     from separation line  L Sort remaining points in ascending  y -coordinate order Scan points in  y -order and compare distance between each point and next 7 neighbours. Update   S  if new shorter distance is found. Return   S
Closest Pair: DAC Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Algorithm: Scan-Line ,[object Object],[object Object],[object Object],[object Object],»  Event-points? »  Status structure?
The Status-Structure ,[object Object],[object Object],[object Object],[object Object]
The Status-Structure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Closest Pair: Scan-Line Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Related Problems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What will be covered? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acknowledgment ,[object Object]

Más contenido relacionado

La actualidad más candente

Forward and Backward chaining in AI
Forward and Backward chaining in AIForward and Backward chaining in AI
Forward and Backward chaining in AIMegha Sharma
 
Church Turing Thesis
Church Turing ThesisChurch Turing Thesis
Church Turing ThesisHemant Sharma
 
Knowledge representation in AI
Knowledge representation in AIKnowledge representation in AI
Knowledge representation in AIVishal Singh
 
INTRODUCTION TO ALGORITHMS Third Edition
INTRODUCTION TO ALGORITHMS Third EditionINTRODUCTION TO ALGORITHMS Third Edition
INTRODUCTION TO ALGORITHMS Third EditionPHI Learning Pvt. Ltd.
 
Artificial Intelligence Lab File
Artificial Intelligence Lab FileArtificial Intelligence Lab File
Artificial Intelligence Lab FileKandarp Tiwari
 
Polygon clipping
Polygon clippingPolygon clipping
Polygon clippingAnkit Garg
 
Rules of inference
Rules of inferenceRules of inference
Rules of inferenceharman kaur
 
Machine learning by Dr. Vivek Vijay and Dr. Sandeep Yadav
Machine learning by Dr. Vivek Vijay and Dr. Sandeep YadavMachine learning by Dr. Vivek Vijay and Dr. Sandeep Yadav
Machine learning by Dr. Vivek Vijay and Dr. Sandeep YadavAgile Testing Alliance
 
Unit 3 – AIML.pptx
Unit 3 – AIML.pptxUnit 3 – AIML.pptx
Unit 3 – AIML.pptxhiblooms
 
Data Structure and Algorithms.pptx
Data Structure and Algorithms.pptxData Structure and Algorithms.pptx
Data Structure and Algorithms.pptxSyed Zaid Irshad
 
Back propagation
Back propagationBack propagation
Back propagationNagarajan
 
Introduction to text classification using naive bayes
Introduction to text classification using naive bayesIntroduction to text classification using naive bayes
Introduction to text classification using naive bayesDhwaj Raj
 

La actualidad más candente (20)

Naive Bayes Presentation
Naive Bayes PresentationNaive Bayes Presentation
Naive Bayes Presentation
 
NP completeness
NP completenessNP completeness
NP completeness
 
Forward and Backward chaining in AI
Forward and Backward chaining in AIForward and Backward chaining in AI
Forward and Backward chaining in AI
 
Church Turing Thesis
Church Turing ThesisChurch Turing Thesis
Church Turing Thesis
 
Knowledge representation in AI
Knowledge representation in AIKnowledge representation in AI
Knowledge representation in AI
 
Uncertainty in AI
Uncertainty in AIUncertainty in AI
Uncertainty in AI
 
Naive bayes
Naive bayesNaive bayes
Naive bayes
 
INTRODUCTION TO ALGORITHMS Third Edition
INTRODUCTION TO ALGORITHMS Third EditionINTRODUCTION TO ALGORITHMS Third Edition
INTRODUCTION TO ALGORITHMS Third Edition
 
Artificial Intelligence Lab File
Artificial Intelligence Lab FileArtificial Intelligence Lab File
Artificial Intelligence Lab File
 
Polygon clipping
Polygon clippingPolygon clipping
Polygon clipping
 
Rules of inference
Rules of inferenceRules of inference
Rules of inference
 
Curve clipping
Curve clippingCurve clipping
Curve clipping
 
Machine learning by Dr. Vivek Vijay and Dr. Sandeep Yadav
Machine learning by Dr. Vivek Vijay and Dr. Sandeep YadavMachine learning by Dr. Vivek Vijay and Dr. Sandeep Yadav
Machine learning by Dr. Vivek Vijay and Dr. Sandeep Yadav
 
Unit 3 – AIML.pptx
Unit 3 – AIML.pptxUnit 3 – AIML.pptx
Unit 3 – AIML.pptx
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
 
Bayes Belief Networks
Bayes Belief NetworksBayes Belief Networks
Bayes Belief Networks
 
Graph theory presentation
Graph theory presentationGraph theory presentation
Graph theory presentation
 
Data Structure and Algorithms.pptx
Data Structure and Algorithms.pptxData Structure and Algorithms.pptx
Data Structure and Algorithms.pptx
 
Back propagation
Back propagationBack propagation
Back propagation
 
Introduction to text classification using naive bayes
Introduction to text classification using naive bayesIntroduction to text classification using naive bayes
Introduction to text classification using naive bayes
 

Destacado

region-filling
region-fillingregion-filling
region-fillingKumar
 
Computational geometry
Computational geometryComputational geometry
Computational geometrymurali9120
 
A sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsA sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsSweta Sharma
 
Solving for coordinates of intersection between lines
Solving for coordinates of intersection between linesSolving for coordinates of intersection between lines
Solving for coordinates of intersection between linesBla Blu Gunn
 
Empirical formulas
Empirical formulasEmpirical formulas
Empirical formulasZB Chemistry
 
Triangulation methods mihaylova
Triangulation methods mihaylovaTriangulation methods mihaylova
Triangulation methods mihaylovaZlatka Mihaylova
 
Line Segment Intersections
Line Segment IntersectionsLine Segment Intersections
Line Segment IntersectionsBenjamin Sach
 
PlumChoice: 2015 Consumer Electronics Spotlight Market Perspective
PlumChoice: 2015 Consumer Electronics Spotlight Market PerspectivePlumChoice: 2015 Consumer Electronics Spotlight Market Perspective
PlumChoice: 2015 Consumer Electronics Spotlight Market Perspectiveplumchoice
 
Participation Agreement
Participation AgreementParticipation Agreement
Participation Agreementrelevatetech
 
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...AvePoint
 
Engaging urban youth in activism saliha nelson v.2
Engaging urban youth in activism  saliha nelson  v.2Engaging urban youth in activism  saliha nelson  v.2
Engaging urban youth in activism saliha nelson v.2URGENT, Inc.
 
Smaato - NOAH15 Berlin
Smaato - NOAH15 BerlinSmaato - NOAH15 Berlin
Smaato - NOAH15 BerlinNOAH Advisors
 
Copywriter Collective - Pamela - Meijer gardens annual_report copy
Copywriter Collective -  Pamela - Meijer gardens annual_report copyCopywriter Collective -  Pamela - Meijer gardens annual_report copy
Copywriter Collective - Pamela - Meijer gardens annual_report copyCopywriter Collective
 
FACE Program Evaluation Report 2015
FACE  Program Evaluation Report 2015FACE  Program Evaluation Report 2015
FACE Program Evaluation Report 2015URGENT, Inc.
 
http://mysucses.jeunesseglobal.com
http://mysucses.jeunesseglobal.comhttp://mysucses.jeunesseglobal.com
http://mysucses.jeunesseglobal.comarinmasqi
 

Destacado (20)

region-filling
region-fillingregion-filling
region-filling
 
Computational geometry
Computational geometryComputational geometry
Computational geometry
 
Bulk carriers handle_with_care_pdf781
Bulk carriers handle_with_care_pdf781Bulk carriers handle_with_care_pdf781
Bulk carriers handle_with_care_pdf781
 
Ship hull modelling
Ship hull modellingShip hull modelling
Ship hull modelling
 
A sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsA sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi Diagrams
 
Solving for coordinates of intersection between lines
Solving for coordinates of intersection between linesSolving for coordinates of intersection between lines
Solving for coordinates of intersection between lines
 
geometry
geometrygeometry
geometry
 
Empirical formulas
Empirical formulasEmpirical formulas
Empirical formulas
 
Triangulation methods mihaylova
Triangulation methods mihaylovaTriangulation methods mihaylova
Triangulation methods mihaylova
 
Line Segment Intersections
Line Segment IntersectionsLine Segment Intersections
Line Segment Intersections
 
PlumChoice: 2015 Consumer Electronics Spotlight Market Perspective
PlumChoice: 2015 Consumer Electronics Spotlight Market PerspectivePlumChoice: 2015 Consumer Electronics Spotlight Market Perspective
PlumChoice: 2015 Consumer Electronics Spotlight Market Perspective
 
Participation Agreement
Participation AgreementParticipation Agreement
Participation Agreement
 
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...
Lead the Responsive Organization Revolution: How to Inspire, Transform and Fa...
 
Engaging urban youth in activism saliha nelson v.2
Engaging urban youth in activism  saliha nelson  v.2Engaging urban youth in activism  saliha nelson  v.2
Engaging urban youth in activism saliha nelson v.2
 
Smaato - NOAH15 Berlin
Smaato - NOAH15 BerlinSmaato - NOAH15 Berlin
Smaato - NOAH15 Berlin
 
Alexander Voss, Smaato
Alexander Voss, SmaatoAlexander Voss, Smaato
Alexander Voss, Smaato
 
Copywriter Collective - Pamela - Meijer gardens annual_report copy
Copywriter Collective -  Pamela - Meijer gardens annual_report copyCopywriter Collective -  Pamela - Meijer gardens annual_report copy
Copywriter Collective - Pamela - Meijer gardens annual_report copy
 
FACE Program Evaluation Report 2015
FACE  Program Evaluation Report 2015FACE  Program Evaluation Report 2015
FACE Program Evaluation Report 2015
 
http://mysucses.jeunesseglobal.com
http://mysucses.jeunesseglobal.comhttp://mysucses.jeunesseglobal.com
http://mysucses.jeunesseglobal.com
 
CPXi Haikus
CPXi HaikusCPXi Haikus
CPXi Haikus
 

Similar a A Tutorial on Computational Geometry

Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in indiaEdhole.com
 
Maapr3
Maapr3Maapr3
Maapr3FNian
 
Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1Ali Farooq
 
Unit ii divide and conquer -4
Unit ii divide and conquer -4Unit ii divide and conquer -4
Unit ii divide and conquer -4subhashchandra197
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsDon Sheehy
 
CSE680-07QuickSort.pptx
CSE680-07QuickSort.pptxCSE680-07QuickSort.pptx
CSE680-07QuickSort.pptxDeepakM509554
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
 
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsShanmuganathan C
 
Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1Ali Farooq
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationVissarion Fisikopoulos
 

Similar a A Tutorial on Computational Geometry (20)

Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in india
 
Maapr3
Maapr3Maapr3
Maapr3
 
Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1
 
Unit ii divide and conquer -4
Unit ii divide and conquer -4Unit ii divide and conquer -4
Unit ii divide and conquer -4
 
Signals and Systems Assignment Help
Signals and Systems Assignment HelpSignals and Systems Assignment Help
Signals and Systems Assignment Help
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean Embeddings
 
CSE680-07QuickSort.pptx
CSE680-07QuickSort.pptxCSE680-07QuickSort.pptx
CSE680-07QuickSort.pptx
 
Fortune's algorithm
Fortune's algorithmFortune's algorithm
Fortune's algorithm
 
Sorting2
Sorting2Sorting2
Sorting2
 
D4 trigonometrypdf
D4 trigonometrypdfD4 trigonometrypdf
D4 trigonometrypdf
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Convex hull
Convex hullConvex hull
Convex hull
 
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
 
Algorithms Design Assignment Help
Algorithms Design Assignment HelpAlgorithms Design Assignment Help
Algorithms Design Assignment Help
 
Week6.ppt
Week6.pptWeek6.ppt
Week6.ppt
 
Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1
 
Ppt 1
Ppt 1Ppt 1
Ppt 1
 
Topological Sort
Topological SortTopological Sort
Topological Sort
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

A Tutorial on Computational Geometry

  • 1. A Tutorial on Computational Geometry Pham Minh Tri Ph.D. Candidate and Project Officer School of Computer Engineering 1 Mar 2008 presented by
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 20.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Convex Hulls Subset of S of the plane is convex, if for all pairs p,q in S the line segment pq is completely contained in S. The C onvex Hull CH(S) is the smallest convex set, which contains S. p q pq p q pq
  • 39. Convex hull of a set of points in the plane The convex hull of a set P of points is the unique convex polygon whose vertices are points of P and which contains all points from P. Rubber band experiment
  • 40.
  • 41.
  • 42. Graham-Scan : (1/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12
  • 43. Graham-Scan :(1/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 1.Calculate polar angle 2.Sorted by polar angle
  • 44. Graham-Scan : (2/11) p 2 p 1 p 0 Stack S : p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12
  • 45. Graham-Scan : (3/11) Stack S : p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 3 p 1 p 0
  • 46. Graham-Scan : (4/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 4 p 3 p 1 p 0 Stack S :
  • 47. Graham-Scan (5/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 5 p 3 p 1 p 0 Stack S :
  • 48. Graham-Scan (6/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 8 p 7 p 6 p 5 p 3 p 1 p 0 Stack S :
  • 49. Graham-Scan (7/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 9 p 6 p 5 p 3 p 1 p 0 Stack S :
  • 50. Graham-Scan (8/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 10 p 3 p 1 p 0 Stack S :
  • 51. Graham-Scan (9/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 11 p 10 p 3 p 1 p 0 Stack S :
  • 52. Graham-Scan (10/11) p 1 p 0 p 3 p 4 p 2 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p 12 p 10 p 3 p 1 p 0 Stack S :
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. Sweep Line Algorithm Avoid testing pairs of segments that are far apart . Idea : imagine a vertical sweep line passes through the given set of line segments, from left to right. Sweep line
  • 59. Assumption on Non-degeneracy No segment is vertical. // the sweep line always hits a segment at // a point. If a segment is vertical, imagine we rotate it clockwise by a tiny angle. This means: For each vertical segment, we will consider its lower endpoint before upper point.
  • 60. Sweep Line Status The set of segments intersecting the sweep line. It changes as the sweep line moves, but not continuously . Updates of status happen only at event points . left endpoints right endpoints intersections event points A G C T
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. Data Structure for Event Queue Data structure: balanced binary search tree (e.g., red - black tree). Ordering of event points: by x -coordinates by y -coordinates in case of a tie in x -coordinates. Supports the following operations on a segment s .  inserting an event  fetching the next event Every event point p is stored with all segments starting at p . // O (log m ) // O (log m ) m = # event points in the queue
  • 66. Data Structure for Sweep-line Status Describes the relationships among the segments intersected by the sweep line. Use a balanced binary search tree T to support the following operations on a segment s . Insert( T , s ) Delete( T , s ) Above( T , s ) // segment immediately above s Below( T , s ) // segment immediately below s e.g , Red - black trees, splay trees ( key comparisons replaced by cross-product comparisons ) . O (log n ) for each operation.
  • 67. An Example L K M N O K L O N M K L N O  The bottom-up order of the segments correspond to the left-to-right order of the leaves in the tree T .  Each internal node stores the segment from the rightmost leaf in its left subtree.
  • 68.
  • 69. Handling Event Points Status updates (1) – (3) presented earlier. Degeneracy : several segments are involved in one event point (tricky). T: (a) Delete D, E, A, C (b) Insert B , A, C p A B C C A D G E H l D D A G E H C A C G E G C H A B A G C B
  • 70.
  • 71.
  • 72. Motivation Transformation of a topographic map into a perspective view
  • 73. Terrains Given: A number of sample points p 1 ..., p n Requir ed: A triangulation T of the points resulting in a “realistic” terrain. "Flipping" of an edge: 900 930 20 50 900 930 20 50 Goa l: Maximise the minimum angle in the triangulation
  • 74. Triangulation of Planar Point Sets Given: Set P of n points in the plane (not all collinear ). A triangulation T(P) of P is a planar subdivision of the convex hull of P into triangles with vertices from P . T(P) is a maximal planar subdivision. For a given point set there are only fin itel y many different triangulations.
  • 75. Size of Triangulations Theorem : Let P be a set of n points in the plane, not all collinear and let k denote the number of points in P that lie on the boundary of the convex hull for P . Then any trianglation of P has 2n-2-k triangles and 3n-3-k edges. Proof : Let T be triangulation of P , and let m denote the # of triangles of T . Each triangle has 3 edges, and the unbounded face has k edges .  n f = # of faces of t riangulation = m + 1 every edge is incident to exactly 2 faces . Hence, # of edges n e = (3m +k)/2 . Euler ‘s formula : n - n e + n f = 2 . Substituting values of n e and n f , we obtain: m = 2n – 2 – k and n e = 3n – 3 – k .
  • 76. Angle Vector Let T(P) be a triangulation of P ( set of n points ) . Suppose T(P) has m triangles. Consider the 3m angles of triangles of T(P) , sorted by increasing value . A(T) = { a 1 ..., a 3m } is called angle- vector of T . Triangulations can be sorted in lexicographical order according to A(T). A triangulation T(P) is called angle-optimal if A(T(P))  A(T´(P)) for all triangulations T´ of P .
  • 77. Illegal Edge a 1 ‘ a 2 ‘ a 4 ‘ a 3 ‘ a 5 ‘ a 6 ‘ P k P j P i Edge flip  The edge p i p j is illegal if  ‘ i Note: Let T be a triangulation with an illegal edge e . Let T´ be the triangulation obtained from T by flipping e . Then, A(T´)  A(T) .  i  Consider a quadrilateral: a 1 a 2 a 6 a 5 a 3 a 4 P j P i
  • 78. Legal Triangulation Definition : A triangulation T(P) is called a legal triangulation , if T(P) does not contain any illegal edges. Test for illegality Lemma : Let edge p i p j be incident to triangles p i p j p k and p i p j p l , and let C be the circle thru p i , p j and p k . The edge p i p j is illegal iff the point p l lies in the interior of C . Furthermore, if the points p i , p j , p k , p l form a convex quadri- lateral and do not lie on a common circle, then exactly one of p i p j or p k p l is an illegal edge. P i P k P j P l
  • 79. Test of Illegality Observation: p l lies inside the circle through p i , p j and p k iff p k lies inside the circle through p i , p j , p l . When all four points lie on circle, both p i p j and p k p l are legal. P i P k P j P l P i P k P j P l
  • 80.
  • 81. Thales Theorem Consider the quadrilateral with p l in the interior of the circle that goes through p i , p j , p k . Claim: The minimum angle does not occur at p k ! (likewise: Minimum angle does not occur at p l ) G oal: Show that p i p j is illegal p i p j p l p k p i p j p l p k
  • 82. W.l.o.g. a 4 minimal Thales Theorem: Proof a 1 ‘ > a 4 a 2 ‘ > a 2 p i p j p k p l a 1 a 2 a 3 a 4 p i p j p k p l a 1 a 2 a 3 a 4 a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘ p i p j p k p l a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘
  • 83. Circle criterion violated  illegal edge Thales Theorem: Proof a 4 ‘ > a 1 a 3 ‘ > a 3 Hence, min{a i ‘} > min{a i } p i p j p k p l a 1 a 2 a 3 a 4 a 1 ‘ a 2 ‘ a 3 ‘ a 4 ‘
  • 84. Circle Criterion Definition: A triangulation fulfills the circle criterion if and only if the circumcircle of each triangle of the triangulation does not contain any other point in its interior .
  • 85. Theorems Theorem: A triangulation T(P) of a set P of points does not contain an illegal edge if and only if nowhere the circle criterion is violated . Theorem: Every triangulation T(P) of a set P of points can be finally transformed into an angle-optimal triangulation in a finite number of steps.
  • 86. Definition of the Delaunay Triangulation A triangulation T(P) is a Delaunay Triangulation of P, denoted as DT(P), if and only if the circumcircle of any triangle of T does not contain any other point of P in its interior (i.e. T fulfills the circle criterion).
  • 87.
  • 88. Algorithm DT(P) (randomized, incremental) Given: Point set P = {p 1 ..., p n } Initially : Compute triangle (x, y, z) , which includes the points p 1 ..., p n . m z (0,3m) y (3m,0) x (-3m,-3m)
  • 89.
  • 90. Inserting a Point p i p j p r 2 cases : p r is inside a triangle p r is on an edge p i p j p k p r p l p i p j p k p r Legalize (p r ,p i p j ,T): if p i p j is illegal then let p i p j p k be the triangle adjacent to p r p i p j along p i p j . flip p i p j , i.e. replace p i p j by p r p k Legalize (p r , p i p k , T) Legalize (p r , p k p j , T)
  • 91.
  • 92. Correctness Lemma : Every new edge created in the algorithm for constructing DT during the intersection of p r is an edge of the Delaunay graph of   { p 1 ,...,p r } . pq is a Delaunay edge iff there is a (empty) circle, which contains only p and q on the circumference . Proof idea : Shrink a circle which was empty before addition of p r !
  • 93. Correctness Observation: After insertion of p r , every new edge produced by edge-flips is incident to p r !  Correctness of the algorithm : Consider newly produced edges: p r p r
  • 94. Edge Flips Edge-flips produce only legal edges. Before inserting p r , circle that goes through p i , p j , p k was empty! Edge- flips produce edges that are always in c ident to p r ! p r p i p j p k
  • 95. Data Structure for Point Location t 1 t 2 t 4 t 5 t 3 t 6 t 7  Split t 1 p i p j p i p k t 1 t 2 t 3 t 2 t 3 t 4 t 5 t 4 t 6 t 7 t 1 t 2 t 3 t 1 t 2 t 3 t 1 t 2 t 4 t 5 t 3  flip p i p j  flip p i p k
  • 96. Analysis of the Algorithm Lemma : The expected number of triangles created by the incremental algorithm for constructing DT(P) is atmost 9n + 1 .
  • 97. Analysis of the Runtime Theorem : The Delaunay triangulation of a set of P of n points in the plane can be computed in O(n log n) expected time, using O(n) expected storage. Proof : Running time without Point Location : Proportional to the number of created triangles = O(n). Point Location : The time to locate the point p r in the current triangulation is linear in the number of nodes of D that we visit.
  • 98.
  • 99.
  • 100.
  • 101. Geometry and Air Traffic Control » Avoid collisions at all costs. » Start by f inding the two aeroplanes closest to each other, at specific elevations. » During peak times over 5000 planes, per hour, around Frankfurt airspace.
  • 102. Geometry and Astronomy » Find the two nearest objects in space.
  • 103. Search Quickly… and Why ? » Find the two nearest objects in space.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.