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
125 downloads per month
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 (requireshdf5
feature) - Evaluation of custom integrals for cells (e.g. weighted centroid) and faces (e.g. solid angles).
Documentation:
Dependencies
~6.5MB
~146K SLoC