Polygon tessellation is a major pain in the neck. Have you ever tried writing fast and robust code for it? libtess is, to my knowledge, the only GPL-compatible, liberally-licensed, high-quality polygon triangulator out there.
This repository includes a self-contained function (tessellate, in tessellate.c) that you can call to triangulate a polygon that is potentially self-intersecting, with holes, or with duplicate vertices. Simple examples of calling the tessellate function directly are located in main.c.
More interestingly, this repository also includes an
Emscripten-compiled module, _tessellate.js, and a Javascript-friendly
wrapper, in tessellate.js
. Simple examples are available under
index.html. tessellate.js
is AMD-friendly, and won't pollute your
global namespace if it thinks it sees RequireJS.