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; }
相关文章推荐
- CGAL4.4_2D限定三角化及网格(2D Conforming Triangulations and Meshes)
- 如何用java语言实现遍历字符串中每个字符出现的次数
- spark primer 计算每个每个顶点之间最短路径
- 三维数组,统计三维里的某个元素个数 [用二维再遍历]
- 【每个人一生中都会遇见三个爱人,…
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
- 滑雪(二维平面上 动态规划)
- hdu 2647(拓扑排序,判断有向图是否存在回路及自环,并统计每个顶点的前驱点数)
- Shortcut(二维平面内点的连续性)
- 粒子系统基本原理 给出粒子中心点的坐标和粒子的大小,则很容易计算出粒子所需要的4个顶点的位置坐标。粒子系统由大量的粒子构成。每个粒子具有一组属性例如位置大小纹理颜色透明度运动速度加速度生命周期等属性。
- 遍历list集合,把每个元素的值对应的计算结果展示在页面上
- [置顶] 遍历获取字符串的的每个字符
- xtraTabControl 如何遍历每个选项卡 z
- C++实现建立和一二进制树的三个递归遍历
- 三个Java多线程循环打印递增的数字,每个线程打印5个数值,打印周期1-75
- OpenGL:三维平面坐标转化为二维
- 已知一单链表中的数据元素含有三类字符:字母、数字和其他字符。是编写算法,构造三个循环链表,使每个循环链表中只含同一类字符
- PHP二维关联数组的遍历方式
- 三角形、平面法线、顶点法线
- 可视化 —— 二维平面上的散列点在坐标轴方向上的移动