Search code examples
c++algorithmmathgeometrytriangulation

Polygon Triangulation using monotone polygons


I have a simple polygon with no holes and it needs to be triangulated into convex polygons for use in a physics engine, and also so I can use those convex polygons for rendering via triangle strips.

This Wikipedia article shows how monotone polygons can be used to triangulate a polygon. It provides a short description of how it works, but not in enough detail for me to understand. This method seems perfect for what I need, and the Flash Demo it links to shows that the algorithm works perfectly for my needs.

I've been searching Google looking for a better explanation on the algorithm, and I can only find libraries or source code that do the triangulation. I would prefer to learn how it works and write my own method, but If I need to use a pre-written library, It will have to do.

Can anyone provide an explanation, or resources for how I can learn how this type of triangulation works?


Solution

  • The CGAL library provides several implementations of convex decomposition of simple polygons with no holes. Have a look at this chapter.