#voronoi #graphics #diagram

meshless_voronoi

An implementation of the Meshless Voronoi algorithm in rust

24 releases (4 breaking)

0.5.9 Jul 4, 2023
0.5.8 Jul 4, 2023
0.5.7 Jun 30, 2023
0.4.1 Apr 20, 2023
0.1.5 Feb 8, 2023

#852 in Math

Download history 24/week @ 2023-08-14 1/week @ 2023-08-21 24/week @ 2023-08-28 50/week @ 2023-09-04 2/week @ 2023-09-11 10/week @ 2023-09-18 4/week @ 2023-09-25 3/week @ 2023-10-02 10/week @ 2023-10-23 25/week @ 2023-10-30 25/week @ 2023-11-06 1/week @ 2023-11-13 25/week @ 2023-11-20 74/week @ 2023-11-27

125 downloads per month

MIT/Apache and LGPL-3.0+

140KB
3.5K SLoC

The meshless_voronoi Crate

An implementation of the Meshless Voronoi algorithm in rust.

The algorithm is primarily aimed at generating 3D Voronoi diagrams, but can also be used to compute 1D and 2D Voronoi diagrams. Like Voro++, this algorithm is meshless implying that no global geometry is constructed. Instead a cell based approach is used and we only compute integrals (cell/face volumes and centroids) and connectivity information (it is possible to determine a cell's neighbours).

The algorithm can generate Voronoi tesselations with a rectangular boundary or periodic boundary conditions and also supports computing a subset of the Voronoi tesselation.

If necessary, arbitrary precision arithmetic is used to treat degeneracies and to ensure globaly consistent local geometry, see the appendix of this reference for more info:

Nicolas Ray, Dmitry Sokolov, Sylvain Lefebvre, Bruno Lévy. Meshless Voronoi on the GPU. ACM Transactions on Graphics, 2018, 37 (6), pp.1-12. 10.1145/3272127.3275092 . hal-01927559

Features:

  • Construction of 1D, 2D and 3D Voronoi grids.
  • Partial construction of grids.
  • Parallel construction of the voronoi grid (requires rayon feature)
  • Save Voronoi grids to .hdf5 format (requires hdf5 feature)
  • Evaluation of custom integrals for cells (e.g. weighted centroid) and faces (e.g. solid angles).

Documentation:

https://docs.rs/meshless_voronoi/latest/meshless_voronoi/

Dependencies

~6.5MB
~146K SLoC