基于CGAL高效生成TIN网

原创 2016年05月31日 11:10:05

CGAL生成TIN网效率很高
参考文档:
http://doc.cgal.org/latest/Triangulation_2/index.html#Chapter_2D_Triangulations

处理核心代码如下:

#include <iostream>
using namespace std;

#include <fstream>
#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>   Triangulation;
typedef Triangulation::Point                Point;

int main() {
    //测试数据
    std::ifstream in("triangulation_prog1.cin");

    //读入测试数据
    std::istream_iterator<Point> begin(in);
    std::istream_iterator<Point> end;

    //通过文件添加
    Triangulation t;
    t.insert(begin, end);   //这里已经形成了TIN网

    //直接添加
    Triangulation::Point pt(10, 6);
    t.push_back(pt);


    //输出点的数目
    cout<<"t size = "<<t.number_of_vertices()<<endl;

    //获取每个face(TIN)
    //输出面的数目
    cout<<"face count = "<<t.number_of_faces()<<endl;
    Triangulation::Face_iterator fi = t.faces_begin();  //三角形迭代器
    int nFaceCount = 0;
    for (fi = t.faces_begin(); fi!=t.faces_end(); fi++)
    {
        nFaceCount++;
        cout<<"tri id "<<nFaceCount<<" = \t";

        //输出三角形的每个顶点
        for (int i=0; i<=2; i++)
        {
            cout<<fi->vertex(i)->point()<<"; ";
        }
        cout<<endl;

    }

    return 0;
}

输入数据 triangulation_prog1.cin :
输入测试数据

输出结果:
输出结果

4w5个珠海市POIs形成的TIN网 (运算时间:1分钟):
珠海市POIs-TIN

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

不规则三角网TIN生成算法

  • 2013-07-09 14:11
  • 1.36MB
  • 下载

ArcEngine由点生成TIN

这两天替别人写一个三维校园的展示程序,用的是SceneControl二次开发。需要利用DOM和TIN构建三维地形。现在说下根据高程点生成TIN的过程: (1)根据高程点文件(Excel)生成点sha...

三角网TIN的生成

  • 2013-10-04 15:14
  • 380KB
  • 下载

不规则三角网(Tin)

Ⅰ 数字高程模型(DEM)         地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法—— 数字高程模型 的方法,这种方...

TIN三角网生成

转 不规则三角网(TIN) 慕名GIS

不规则三角网(TIN) 分类: 3D建模&3D分析2012-12-06 09:29 2764人阅读 评论(0) 收藏 举报 Ⅰ 数字高程模型(DEM)       ...

最快的TIN三角网生成算法

  • 2011-06-27 15:24
  • 769KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)