Skip to content

Command-line tool to perform 2D Delaunay triangulation on a set of points

License

Notifications You must be signed in to change notification settings

plimkilde/delaunify

Repository files navigation

delaunify

delaunify is a command-line tool to perform 2D Delaunay triangulation on a set of points. It is designed to be a simple filter that accepts point coordinates streamed in via stdin, then outputs the vertex indices of the generated triangles to stdout.

delaunify uses the Geogram library by Bruno Lévy, specifically its Delaunay PSM (pluggable software module, a library standalone autogenerated from the Geogram source tree). The Geogram version included here is currently 1.6.4.

Building

Linux

The software should build with g++ using the following command:

g++ -std=gnu++11 -O3 -fopenmp -frounding-math -ffp-contract=off -Wall delaunify.cpp Delaunay_psm.cpp -o delaunify -lm

Windows

Cygwin

It is possible to build using Cygwin after applying the provided patch for the PSM:

patch --binary < cygwin_psm_patch.patch

(The --binary flag helps deal with any misery caused by mismatching line endings.)

Then, building is similar to that on Linux, though with a -D__linux__ flag added:

g++ -std=gnu++11 -D__linux__ -O3 -fopenmp -frounding-math -ffp-contract=off -Wall delaunify.cpp Delaunay_psm.cpp -o delaunify -lm

MinGW

Not yet working.

Running

delaunify expects input through stdin in the form of plaintext, one line for each point, with x and y coordinates separated by whitespace. The generated output will contain the (zero-based) indices of the vertices in the triangulation, specified for one triangle per line.

Example with a heredoc as input:

./delaunify > faces.txt << EOF
0.5 1.0
2.0 0.5
1.0 1.5
3.0 3.5
EOF

Using a text file as input:

./delaunify > faces.txt < vertices.txt

About

Command-line tool to perform 2D Delaunay triangulation on a set of points

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages