基于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

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

CGAL库——学习一

#include #include #include #include #include #include #include using namespace std; typedef ...

vtkDelaunay3D用法、用途及原理

1. 三角剖分与Delaunay剖分的定义      如何把一个散点集合剖分成不均匀的三角形网格,这就是散点集的三角剖分问题,散点集的三角剖分,对数值分析以及图形学来说,都是极为重要的一项预处理技术。...

VTK修炼之道69:体绘制讨论_颜色传输函数

1.颜色传输函数 颜色传输函数与不透明度传输函数的使用类似,二者的不同之处在于颜色传输函数是将一个标量值映射为颜色值。这个颜色值可以是RGB值,也可以是HSV值。 VTK颜色传输函数采用V...

不规则三角网TIN生成算法

  • 2013年07月09日 14:11
  • 1.36MB
  • 下载

c#tin三角网生成算法及源码

  • 2010年06月07日 01:28
  • 45KB
  • 下载

ArcEngine由点生成TIN

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

三角网TIN的生成

  • 2013年10月04日 15:14
  • 380KB
  • 下载

离散点生成三角网程序 TIN

  • 2010年08月20日 13:09
  • 179KB
  • 下载

等高线生成TIN时的flat triangle问题

首先是delaunay生成tin的优点: 1.三角形尽量接近等角,减少瘦长三角形引起的潜在数值精度降低问题 2.表面中的任意点(point)可以尽量接近节点(node) 3.三角化过程与...

TIN三角网生成

  • 2012年05月04日 16:45
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于CGAL高效生成TIN网
举报原因:
原因补充:

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