Облегченная библиотека триангуляции Делоне (для c ++) [закрыта]

StackOverflow https://stackoverflow.com/questions/1446987

Вопрос

Я хотел бы поиграть с некоторыми (2D) триангуляциями Делоне и ищу достаточно небольшую библиотеку для работы.Я знаю о CGAL, но мне было интересно, есть ли там что-нибудь достаточно простое и прямолинейное.

Вещи, которые я хотел бы сделать:

  • создайте триангуляцию произвольного набора точек
  • найдите треугольник, в котором находится произвольная точка, и извлеките вершины
  • создайте изображение триангуляции (необязательно)

Предложения?

Это было полезно?

Решение

Вероятно, вам следует немного детализировать свои цели, чтобы можно было получить более релевантные ответы, но позвольте мне сначала упомянуть Треугольник, инструмент генерации 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;
}

Другие советы

Смотрите также poly2tri, это выглядит красиво: https://github.com/greenm01/poly2tri

Я использовал Библиотека триангулированных поверхностей Gnu для 2D-триангуляции Делоне, и это сработало хорошо.Немного странно вызывать, потому что он использует этот бойкий стиль ООП-in-C, но его легко можно завернутый в.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top