当前位置:  开发笔记 > 编程语言 > 正文

轻量级Delaunay三角化库(适用于c ++)

如何解决《轻量级Delaunay三角化库(适用于c++)》经验,为你挑选了1个好方法。

我想玩一些(2D)Delaunay三角测量,我正在寻找一个相当小的库来工作.我知道CGAL,但我想知道是否有一些相当简单和直接的东西.

我想做的事情:

创建任意点集的三角剖分

找到任意点所在的三角形,并获取顶点

创建三角测量的图像(可选)

建议?



1> Camille..:

您可能应该稍微详细说明一下您的目标,以便提供更多相关答案,但让我首先提一下Triangle,这是一个用C语言编写的2D Delaunay生成工具,既可以作为独立程序使用,也可以从你自己的代码.

然后,关于CGAL,这是一个典型的小例子,如果你仍然考虑它:

#include 
#include 
#include 

typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2                   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;
}

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有