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