monotone polygoon
monotone polygoon
monotone polygoon
1. Find a diagonal.
2. Triangulate the two resulting subpolygons recursively.
w w
leftmost
vertex v
v
u case 2
closest
case 1 to v
u
Θ(n) time!
Idea:
monotone
Decompose a simple polygon into convex pieces.
Triangulate the pieces. as difficult
as triangulation
y-monotone Pieces
y-axis
y-monotone if any line perpendicular
highest
vertex to the y-axis has a connected
intersection with the polygon.
Stragegy:
walk always
downward or Partition the polygon into monotone
horizontal pieces and then triangulate.
lowest
vertex
Turn Vertex
Turn vertex is where the walk
from highest vertex to the lowest
vertex switches direction.
At vertex v
♦ Both adjacent edges are below.
v
♦The polygon interior lies above.
Connect v i to h(e i ).
Removal of a Merge Vertex
Merge vertices can be handled the same way in an upward sweep
as split vertices in a downward sweep.
But why not all in the same sweep?
vi : merge vertex
vi e j : edge immediately to its left.
ej ek : edge immediately to its right.
ek
vm
vm : highest vertex below the
sweep line and between
e j and ek .
Proof The pieces that result from the partitioning contain no split
or merge vertices. Hence they are monotone by an
earlier
lemma.
We need only prove that the added segments are diagonals
that intersect neither the polygon edges nor each other.