Is there a tool for 3D Delaunay and Voronoi tessellations?



I am currently migrating all my research software to Julia, and so far I am very pleased with the experience and the relative easiness in transporting code.
I have, however, reached a bottleneck cause I can’t seem to be able to find any tool to perform a simple non-constrained Delaunay triangulation in three dimensions. As I would really like not to write a ball-pivot algorithm function myself, I was wondering how is everyone doing this, as Delaunay is one of the most standard geometrical transformations used in 3-d modelling?


There is a package for 2D Delaunay:

and JuliaPolyhedra has serveral packages for convex hull:

Currently I use marching cubes for meshing 3D pointclouds.


Worst case, you can always ccall Qhull or use PyCall.jl with scipy.spatial.Voronoi (which then calls Qhull).


There is already a Julia package wrapping Qhull:

(It works via Python; might be nice to eventually have a direct wrapper.)


Qhull.jl only wraps the convex hull part of Qhull though.


There’s a 4-year-old issue with a suggested implementation:


so currently the solution is to use TetGen.jl?


Tetgen should work reasonably well, but we still haven’t added nice julia API.
We started to add stuff like parsing the tetgen generated files:

But it’s still incomplete. Any help / revival of the issues would be appreciated


Please count me in, as this would be something I will need to implement anyways.


As far as I understand, Qhull only evaluates the convex hull. Couldn’t find any reference to the Delaunay and/or Voronoi tessellations.