您的位置:首页 > 其它

CGAL4.4 二维平面三角化之遍历每个三角面的三个顶点

2014-04-18 21:31 561 查看
最近在学习CGAL,于是自己计划一个一个例子自己跑一遍,今天跑了一个二维平面的普通三角化,当然在三角化算法中用的比较广的是Delaynay三角化。还没有尝试。今天尝试其中一个简单的例子,普通三角化。然后我结合OSG进行结果的可视化。但是在可视化的过程中发现,不知道怎么遍历每个上三角面的顶点。然后各种百度,由于现在用CGAL的人太少了,百度上几乎没有,还好有google。问题解决了。由于准备长期从事CGAL方面使用,所以我准备陆续写一些使用CGAL的心得。或者翻译,以及注意事项。这里展示下CGAL其中一个三角化用OSG可视化的结果吧!


#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_2.h>
#include <fstream>typedef CGAL::Exact_predicates_exact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2<K> Delaunay;typedef K::Point_2   Point;
int main(){
std::ifstream in("points.cin");
std::istream_iterator<Point> begin(in);
std::istream_iterator<Point> end;
Delaunay dt;  dt.insert(begin, end);
Delaunay::Finite_faces_iterator it;
for (it = dt.finite_faces_begin(); it != dt.finite_faces_end(); it++)
{
std::cout << dt.triangle(it) << std::endl;
//要访问顶点可以这样写
std::cout<<dt.triangle(it).vertex(0).hx();//得到第一个顶点坐标
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐