Home

Awesome

Docs Crates.io License GitHub Workflow Status (branch) dependency status

spade

Delaunay triangulations for the rust ecosystem.


<img src="images/basic_voronoi.svg" width=60% style="margin-left: auto;margin-right:auto;display:block;object-fit:cover" alt="A Delaunay triangulation and the dual Voronoi Graph">

Project goals

Project goals, in the order of their importance:

  1. Robustness - all data structures should behave correctly. An incorrect result, even if triggered only under rare circumstances, is not acceptable. This is why Spade uses a precise calculation kernel by default.
  2. Easy to use - favor an easy-to-use API over an API that exposes all bells and whistles.
  3. Performance - Delaunay triangulations are often a low level component of an application. Optimization in this area pays off greatly.
  4. Small footprint - Spade should be a sensible library to include in your project that doesn't require too many dependencies. Bigger dependencies will be feature gated when possible.

Roadmap

For Spade 3:

Performance and comparison to other crates

Refer to the delaunay_compare readme for some benchmarks and a comparison with other crates.

License

Licensed under either of

at your option.