% Delaunay2D

This crate provides a library for computing a Delaunay triangulation from a set of points using the Bowyer–Watson algorithm.

While performance shouldn't be terrible, there is definite room for improvement.

Usage

rust extern crate delaunay2d;

Example: Delaunay triangulation

```rust use delaunay2d::{Delaunay2D, Triangle}; let mut dt = Delaunay2D::new((0., 0.), 9999.);

dt.addpoint((13., 12.)); dt.addpoint((18., 19.)); dt.addpoint((21., 5.)); dt.addpoint((37., -3.));

let mut triangles = dt.exporttriangles(); triangles.sortbykey(|t| (t.0, t.1, t.2)); asserteq!(vec![Triangle(2,1,0), Triangle(3, 1, 2)], triangles); ```

Example: Voronoi regions

```rust use delaunay2d::{Delaunay2D}; let mut dt = Delaunay2D::new((0., 0.), 9999.);

dt.addpoint((13., 12.)); dt.addpoint((18., 19.)); dt.addpoint((21., 5.)); dt.addpoint((37., -3.));

let (points, mut regions) = dt.exportvoronoiregions(); regions.sort(); asserteq!(10, points.len()); asserteq!(4, regions.len()); ```