A single-file package which provides Delaunay triangulation of the given set of points with constraints and mesh refinement.
- Delaunay triangulation
- Constrained triangulation
- Mesh refinement (angle and area parameters)
- Restoring boundary
- Holes
- Support for
Unity.Jobs
pipeline - Input preprocessors
- Input validation
To view the documentation for the manual and scripting API access it online here or navigate to Documentation~/
and build this using docfx.json
.
As an illustrative example, we present the triangulation of Lake Superior with various refinement parameters. The top-left image shows the result without any refinement.
The package utilizes the Burst
compiler, which generates highly optimized native code using LLVM.
Below, you'll find a performance comparison for classic Delaunay triangulation (without refinement or constraints).
between this package and a few alternatives:
To see more benchmarks visit the documentation.
Install the package and add using
in your code
using andywiecko.BurstTriangulator;
and to triangulate unit box
using var positions = new NativeArray<float2>(new[]
{
new(0, 0), new(1, 0), new(1, 1), new(0, 1)
}, Allocator.Persistent);
using var triangulator = new Triangulator(Allocator.Persistent)
{
Input = { Positions = positions }
};
triangulator.Run();
var triangles = triangulator.Output.Triangles;
Found a bug? Please open an issue. You can find a list of known issues here. Interested in contributing to the project? Feel free to open an issue or submit a pull request. For updates on current and future work related to this package, check out the package project.