How to triangulate a polygon without random interior points?

I would like to create triangles of a predefined polygon. My requirement is that I do not want to create random points inside this polygon to process it using the Delaunay triangulation algorithm.
The polygon can be concave or convex.

It’s quite normal for me to use Delaunay triangulation, but I don’t want to create random points inside the polygon. It would be much better if I could create as few points as possible inside this polygon.
I would like to minimize the number of triangles used.

How can i install this?

Comment: it’s more agnostic of the language, I like to know how to implement this on my own.

+3
source share
3 answers

I found a very useful Poly2Tri library . The explicit branch of this library does exactly what I need.

I just need to use it correctly. It does not add any points to the polygon.

+2
source

You can use Ear Cuts or Monotone Polygons . None of the algorithms introduce extra points.

(If you choose monotone polygons, monotone polygons are convex and can be divided into triangular fans directly.)

+5
source

, , . , , . , , .

You can also use the mesh refinement algorithm to refine the mesh if you get long and thin triangles. Using Delaunay, you can simply check if a triangle is “thin” by a specific definition, and if it is “thin”, insert a point in the circle of that triangle. So all you have to do is use the Delaunay theory.

0
source

Source: https://habr.com/ru/post/1786236/


All Articles