GitPedia

Delaunator cpp

A really fast C++ library for Delaunay triangulation of 2D points

From delfrrr·Updated June 16, 2026·View on GitHub·

A really fast C++ library for [Delaunay triangulation](https://en.wikipedia.org/wiki/Delaunay_triangulation) of 2D points. The project is written primarily in C++, distributed under the MIT License license, first published in 2018. Key topics include: 2d, algorithm, computational-geometry, cpp, delaunay.

Latest release: v0.4.0parity with delaunator@3.0.1
September 26, 2018View Changelog →

delaunator-cpp

A really fast C++ library for
Delaunay triangulation of 2D points.

delaunator-cpp is a C++ port from https://github.com/mapbox/delaunator a JavaScript implementation of very fast 2D Delaunay algorithm.

Build Status
badge

Features

  • Probably the fastest C++ open source 2D Delaunay implementation
  • Example showing triangulation of GeoJson points

Usage

examples/basic.cpp

CPP
#include <delaunator.hpp> #include <cstdio> int main() { /* x0, y0, x1, y1, ... */ std::vector<double> coords = {-1, 1, 1, 1, 1, -1, -1, -1}; //triangulation happens here delaunator::Delaunator d(coords); for(std::size_t i = 0; i < d.triangles.size(); i+=3) { printf( "Triangle points: [[%f, %f], [%f, %f], [%f, %f]]\n", d.coords[2 * d.triangles[i]], //tx0 d.coords[2 * d.triangles[i] + 1], //ty0 d.coords[2 * d.triangles[i + 1]], //tx1 d.coords[2 * d.triangles[i + 1] + 1],//ty1 d.coords[2 * d.triangles[i + 2]], //tx2 d.coords[2 * d.triangles[i + 2] + 1] //ty2 ); } }

See more examples here

Benchmarks

Run on (4 X 2300 MHz CPU s)
2018-09-29 09:27:28
------------------------------------------------------------
Benchmark                     Time           CPU Iterations
------------------------------------------------------------
BM_45K_geojson_nodes         22 ms         22 ms         32
BM_uniform/2000               1 ms          1 ms        982
BM_uniform/100000            63 ms         62 ms          9
BM_uniform/200000           140 ms        140 ms          4
BM_uniform/500000           400 ms        399 ms          2
BM_uniform/1000000          994 ms        993 ms          1

Library is ~10% faster then JS version for 1M uniform points (details)

Contributors

Showing top 3 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from delfrrr/delaunator-cpp via the GitHub API.Last fetched: 6/17/2026