Triangulation algorithms that conform to a set of non-intersecting input segments typically proceed in an incremental fashion, by inserting points first, and then segments. Inserting a segment amounts to delete all the triangles it intersects , define two polygons that fill the so generated hole and have the segment as shared basis, and then re-triangulate each polygon separately. In this paper we prove that the polygons generated evacuating the triangles that intersect a constrained segment are such that all their convex vertices but two can be used to form triangles in an earcut fashion, without the need to check whether other polygon points are located within each ear. The fact that any simple polygon contains at least three convex vertices guarantees the existence of a valid ear to cut, ensuring convergence. Not only this translates to an optimal deterministic linear time triangulation algorithm, but such algorithm is also trivial to implement. In this paper we formally prove the correctness of our approach, also validating it in practical applications and comparing it with prior art.
Triangulation algorithms that conform to a set of non-intersecting input segments typically proceed in an incremental fashion, by inserting points first, and then segments. Inserting a segment amounts to : (1) deleting all the triangles it intersects ; (2) filling the so generated hole with two polygons that have the wanted segment as shared edge; (3) triangulate each polygon separately. In this paper we prove that these polygons are such that all their convex vertices but two can be used to form triangles in an earcut fashion, without the need to check whether other polygon points are located within each ear. The fact that any simple polygon contains at least three convex vertices guarantees the existence of a valid ear to cut, ensuring convergence. Not only this translates to an optimal deterministic linear time triangulation algorithm, but such algorithm is also trivial to implement. We formally prove the correctness of our approach, also validating it in practical applications and comparing it with prior art.
R
delete
: (1) deleting
R
, define two polygons that fill
; (2) filling
R
and have the
with two polygons that have the wanted
R
basis, and then re-triangulate
edge; (3) triangulate
R
the polygons generated evacuating the triangles that intersect a constrained segment
these polygons
R
In this paper we
We