This is a Rust implementation of Fortune's Linesweep algorithm for computing Voronoi diagrams.
To use, add the following line to Cargo.toml
under [dependencies]
:
voronoi = "0.1.4"
or alternatively,
voronoi = { git = "https://github.com/petosegan/rust_voronoi.git" }
extern crate voronoi;
use voronoi::{voronoi, Point, make_polygons};
const BOX_SIZE: f64 = 800.;
// ...
let vor_pts = vec![Point::new(0.0, 1.0), Point::new(2.0, 3.0), Point::new(10.0, 12.0)];
let vor_diagram = voronoi(vor_pts, BOX_SIZE);
let vor_polys = make_polygons(&vor_diagram);
- Handle degeneracies in geometry.rs
- Match DCEL faces to input points
- Reimplement the data structures with memory management
- Balance the trees
- Benchmark against other implementations