Voronoi tessellation source code

I don’t know it is regular to ask about source code, but I ask my question:

In mathematics and computational geometry, a Delaunay triangulation for a given set P of discrete points in a plane is a triangulation DT§ such that no point in P is inside the circumcircle of any triangle in DT§. A Voronoi diagram is a kind of tesselation that divided the medium into polygons in 2D and polyhedrons in 3D.

I want to know is there any library to calculated the Voronoi diagram in two-dimension and three-dimension. I also have data of Delaunay triangulation via a written-code from myself. So, if there is any library that determines the Voronoi diagram from Delaunay triangulation, it would be desired.

I will appreciate any comments that give me a little help and forgive me for writing shortcomings.

1 Like

Are any of John Burkardt’s 1327 (!) Fortran codes relevant? “Voronoi tessellation” and “Delaunay triangulation” appear in the descriptions of several of them.

1 Like

Thanks for the comment. I scrutinized mentioned library but it doesn’t contain simple Voronoi tessellation.

I code I work on uses parts of Javier Bernal’s suite of programs refractored into modules. Selected Developed Software
That refactoring was done before I was involved, and I cannot vouch that the underlying code is “nice”, only that it works.

You may consider interfacing with the C qhull library, which is what scipy wraps for its Delaunay/Voronoi function. I have not tried this myself, though.

I also find a library in c++. Probably, I use the interface approach with other libraries in three-dimensional.
Do you know interface with which language (Python, C++, or C) has enough speed?

Take a look at this page. GEOMPACK3 can be what are you searching for.

Thanks for your comment.
“* VORNBR: determines the Voronoi neighbors of an eyepoint.”
As mentioned on the page, it has just one subroutine to find neighbors in two-dimensional and not a whole of Voronoi diagram.

The subtitle of GEOMPACK2 reads " Voronoi diagrams, Delaunay triangulations". Maybe more than one subroutine must be used to obtain a Voronoi diagram…

I checked the source code. There is no output for the Voronoi diagram.