Возможно, вам необходимо подробно рассказать о своих целях, чтобы можно было предоставить более релевантные ответы, но позвольте мне сначала упомянуть, инструмент генерации 2D Delaunay, который написан на C и может использоваться как автономная программа , или вызывается из вашего собственного кода.
Тогда о CGAL, вот типичный маленький пример, в случае, если вы до сих пор считают его:
#include <vector>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2<K> Delaunay;
typedef K::Point_2 Point;
void load_points(std::vector<Point>& points)
{
points.push_back(Point(1., 1.));
points.push_back(Point(2., 1.));
points.push_back(Point(2., 2.));
points.push_back(Point(1., 2.));
}
int main()
{
std::vector<Point> points;
load_points(points);
Delaunay dt;
dt.insert(points.begin(), points.end());
std::cout << dt.number_of_vertices() << std::endl;
return 0;
}
В какой размер? – Camille
Вам нужно, чтобы это была библиотека, или может быть автономная программа в порядке? – Camille
Автономная программа, вероятно, не будет нормально. Я хочу интегрировать это в более крупный программный инструмент. –