实现Delaunay算法用cpp
时间: 2023-05-22 16:03:17 浏览: 132
基于Lawson 插入法的Delaunay三角网格构造算法C++实现
可以使用第三方库来实现Delaunay算法,如CGAL、PCL等。以下是使用CGAL库实现Delaunay三角剖分的cpp代码示例:
#include <iostream>
#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;
int main()
{
std::vector<Point> points{{0, 0}, {1, 0}, {0, 1}, {1, 1}};
Delaunay dt;
dt.insert(points.begin(), points.end());
for(auto it = dt.finite_edges_begin(); it != dt.finite_edges_end(); ++it)
{
auto edge = dt.segment(*it);
std::cout << edge << std::endl;
}
return 0;
}
当然,也可以自己实现Delaunay算法,但这需要较高的算法功底和数学知识。
阅读全文