Triangulating a polygon

169 Views Asked by At

First please let me introduce some terminology in order to avoid misunderstandings (forgive me if it is a bit tedious).

Consider a collection of finite number of planar, consecutive line segments, with no internal intersections and forming a simple , closed curve. As such a curve, it separates the plane in one bounded and one unbounded domain. We consider a $n$-polygon to be such a curve including the bounded domain. The perimeter of $P$ is the above mentioned line.

A triangulation (without adding extra vertices) of a polygon $P$ is its partition into a set of triangles that have the same vertices with $P$ and these triangles have pairwise non-intersecting interiors and also their union is $P$.

Now comes the question: Is it possible to triangulate any polygon?

After searching a bit, I found that this is just a corrollary of the famous 2 -Ear Theorem by Max Dehn which gives an afformative answer.

But now I would like to demonstrate my idea- (if proof) and you to tell me if it is ok or not.

Proof (by Induction). The case for $3$- polygons (triangles) is trivial. Consider now that all $3,4,...n-1$-polygons can be triangulated and $P$ is an $n$ -Polygon. Then $P$ should have at least one convex angle $ABC$, otherwise $P$ is unbounded.Inside angle $ABC$ can be some other vertices too. Select those that have the least Euclidian distance from vertice $B$. And from those vertices select one, lets say $B'$ that is on the outmost left (or right). See picture below:enter image description here Now the segment $BB'$ is a diagonal of $P$ and the perimeter of $P$ is divided into $2$ lines $BC...B'$ and $BB'...A$, with lengths $l,m<n-1$ respectively. Clearly $n=m+l$. Then the polygons $BC...B'$, $BB'...A$ are $l+1, m+1<n$ and by the assumption of the induction they can be triangulated. So can be $P$.

Is it oK ? Thanks.

EDIT $1$

After some really usefull comments of @Jaap Scherphuis, I edit this question as follows:

In the proof instead of selecting the nearest and outmost right (or left) vertice, take a semi line from vertice $B$ and segment $BC$. Rotate this semi line untill it reaches a vertex (it maybe more than one). From all such vertices select this one which is closer to vertice $B$ (Let' s say $b$). The rest of the proof remains the same.

enter image description here

2

There are 2 best solutions below

5
On

Given a polygon, the first step is to determine the extrema vertices. Can be done along the $X$ or $Y$ axes. Then we can choose one to begin the process. Lets begin with vertex $B$. This vertex opens a region from left to right, limited with by segments linking it to the nearest companions $C, A$. Note that the sequence $A\to B\to C$ is oriented CCW (counterclockwise). The next step is to verify if the triangle $CBA$ contains any of the remaining vertices. If not, the vertex $B$ is eliminated and a first triangulation is obtained: otherwise, the process continues counterclockwise to the next vertex $C$. Now considering the sequence $B\to C\to ?$ we can observe that it is CW oriented so we jump until the three corresponding vertices are CCW oriented, repeating the eliminate/non eliminate process, until the number of vertices is less or equal to $3$. Included three triangulations obtained with this method.

enter image description here

enter image description here

enter image description here

Follows the action sequence when applying the procedure in the first example. In dotted red, the remaining vertices after a new triangle classification. In this case we choose as the first vertex, the rightmost vertex.

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

0
On

In order to find a vertex inside the angle area $ABC$ we can select one that is closer to the side $BA$ (or $BC$). Lets say this is $M$ and it is always exist as the sides are of finite number. Now draw a parallel line $l$ to $BA$ and passes from $M$. Then between $BA$ and $l$ should be no other vertices and so the line segment between points $M$ and $B$ is inside the polygon. enter image description here