Split a polygon into triangles

Useful for converting a concave polygon into multiple convex ones.

See: the alternative triangulate_recursive uses arrays in-place.

Property definitions

geometry :: polygon $ Sys :: triangulate
# Split a polygon into triangles
#
# Useful for converting a concave polygon into multiple convex ones.
#
# See: the alternative `triangulate_recursive` uses arrays in-place.
fun triangulate(points: Array[Point[Float]]): Array[ConvexPolygon]
do
	var results = new Array[ConvexPolygon]
	triangulate_recursive(points.clone, results)
	return results
end
lib/geometry/polygon.nit:443,1--453,3