Convex Hulls
-
Upload
igor-higgins -
Category
Documents
-
view
46 -
download
1
description
Transcript of Convex Hulls
Convex Hulls
Computational Geometry, WS 2007/08Lecture 2 – Supplementary
Prof. Dr. Thomas Ottmann
Algorithmen & Datenstrukturen, Institut für InformatikFakultät für Angewandte WissenschaftenAlbert-Ludwigs-Universität Freiburg
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 2
Area of Triangle
• Underlying idea:– For every edge, compute between it and a given line (or
point).– Sum the area in a predetermined order.
• Generalizable for any polygon.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 3
Area of Triangle
• Use x-axis line as reference.
• Compute in clockwise order.
(x0,y0)
(x1,y1)
(x2,y2)
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 4
Area of Triangle
½ (x1 – x0 )(y0 + y1 )
(x0,y0)
(x1,y1)
(x2,y2)
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 5
Area of Triangle
½ (x1 – x0 )(y0 + y1 )
+
½ (x2 – x1 )(y1 + y2 )
(x0,y0)
(x1,y1)
(x2,y2)
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 6
Area of Triangle
½ (x1 – x0 )(y0 + y1 )
+
½ (x2 – x1 )(y1 + y2 )
+
½ (x0 – x2 )(y2 + y0 )(x0,y0)
(x1,y1)
(x2,y2)
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 7
Area of Triangle
½ (x1 – x0 )(y0 + y1 )
+
½ (x2 – x1 )(y1 + y2 )
+
½ (x0 – x2 )(y2 + y0 )
(x0,y0)
(x1,y1)
(x2,y2)
= ½ [(x1 – x0 )(y0 + y1 ) + (x2 – x1 )(y1 + y2 ) + (x0 – x2 )(y2 + y0 )]
= ½ [ x1y0 + x1y1 – x0y0 – x0y1 + x2y1 + x2y2 – x1y1 – x1y2
+ x0y2 + x0y0 – x2y2 – x2y0 ]
= ½ [ x1y0 + x2y1 + x0y2 – x0y1 – x1y2 – x2y0 ]
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 8
Area of Triangle
(x0,y0)
(x1,y1)
(x2,y2)
| x0 y0 1 |
| x1 y1 1 |
| x2 y2 1 |Area of triangle = ½
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 9
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 10
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 11
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 12
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 13
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 14
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 15
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 16
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 17
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 18
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 19
Convex Hull – Divide & Conquer
• Split set into two, compute convex hull of both, combine.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 20
Convex Hull – Divide & Conquer
• Merging two convex hulls.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 21
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 22
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 23
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 24
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 25
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 26
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 27
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 28
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 29
Convex Hull – Divide & Conquer
• Merging two convex hulls: (i) Find the lower tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 30
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 31
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 32
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 33
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 34
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 35
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 36
Convex Hull – Divide & Conquer
• Merging two convex hulls: (ii) Find the upper tangent.
Computational Geometry, WS 2007/08Prof. Dr. Thomas Ottmann 37
Convex Hull – Divide & Conquer
• Merging two convex hulls: (iii) Eliminate non-hull edges.