TIN的构建、Delaunay三角网、Voronoi图

一、TIN的三角剖分准则

(1)空外接圆准则

    过每个三角形的外接圆均不包含点集的其余任何点。

(2)最大最小角准则

    两三角形中的最小内角>交换z凸四边形对角线后三角形的最小角。

(3)最短距离和准则

    一点到基边的两端距离和为最小。

(4)张角最大准则

    一点到基边的张角最大。

(5)面积比准则

    三角形内切圆面积与三角形面积、三角形面积与周长平方之比最小。

(6)对角线准则

    两三角形组成的凸四边形的两条对角线之比超过限定值进行优化。

二、TIN的三角剖分算法

1.不规则分布采样数据

(1)三角网生长算法

    先在点集中任取一点,找到与其相距最短的点连接成三角网的一条边,然后再按Delaunay三角网的判别准则找出包含此边的Delaunay三角形的另一个端点,依次处理所有新生成的边,直到所有的边找不到能形成合理的Delaunay三角形的端点。

(2)逐点插入算法

    思想

1 定义一个包含所有数据点的初始多边形,即凸壳。

2 从离散数据集中任意的选择一个点P插入到初始多边形中,将初始多边形的各个顶点与该点相连接,建立初始三角网。

3 迭代计算,知道所有的离散数据点都插入到三角网中。

4 迭代计算的步骤:插入离散点A,在初始三角网中找到包含A的三角形T,把A与T三个顶点相连,生成三个新的小三角形;局部优化算法LOP,从里到外优化三角形,确保插入后的三角网为Delaunay三角网。

(3)分割-合并算法

  思想:递归地分割点集,直至子集中包含点数足够少,以利于对每个分割出来的点集进行Delaunay三角化,然后自下而上逐级合并相邻子集的凸壳,进而生成最终的整个点集三角网模型。三角网的合并要考虑合并的顺序和合并的方法。

  按照分割方法的不同:①条带分割方法②网格分割方法③四叉树分割方法

  步骤

1 对原始数据进行分割,对原始数据域分成大致相等的两个部分。

2 利用凸壳算法生成每一子块的边界。

3 寻找子集凸壳的底线和顶线,并从底线开始自下而上进行合并。

4 合并三角网,形成最终的三角形格网。

(4)辐射扫描算法

  步骤

1 在点集中任取一个点为基准点O,计算其余点与之连线的方向,以其方向角的大小进行排序。

2 连接O点和其他点,并连接相邻点,形成最初扇形三角网。

3 从扇形的任意一点开始,以逆时针方向进行凹边连接。(如果P为当前点,以逆时针方向搜索点S和下一点Q,若Q在PS前进方向左侧,点改为S,从S开始搜索;若Q在PS前进方向右侧,连接PQ,生成新三角形,重复,直到把外界变为凸多边形为止。)

4 利用LOP算法优化,得到Delaunay三角网。

(5)前沿边推进生长算法

  思路:建立凸包->凸包推进生长

2、规则分布采样数据

(1)直接将网格分解组合

(2)选择重要点,建立三角网

    要注意确定网格的“重要程度”,是全局最重要还是局部最重要;确定终止条件(达到预设点数/精度/二者折中)。

①地形骨架法

  利用地形特征点和线建立地形的骨架模型,然后对其进行插点,达到预设的精度。

②地形滤波法

  将格网DEM看作一幅数字图像,使用空间高通滤波器对其滤波,保留图像中的高频信息(地形特征点),去除低频信息(对地形特征而言不重要的信息),以建立TIN。

三、Voronoi图

什么是Voronoi图?

    通过切分一个中心点和它周围点之间的连线来定义,切分点与连线之间相互垂直。当对整个区域所有点应用这种方法时,整个区域被相邻的多边形覆盖。

四、Delaunay三角网的性质

1.不存在四点共圆

2.每个三角形对应于一个Voronoi图的顶点。

3.每条三角形边对应于一个Voronoi图的边。

4.每个结点对应于一个Voronoi图区域。

5.Delaunay三角网的边界是一个凸壳。

6.三角网中三角形的最小角最大。

你可能感兴趣的:(算法)