本文主要是介绍matlab 不规则三角网,[转载]不规则三角网(TIN)生成等高线的算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
根据离散点的三维坐标生成等高线的方法主要有网格法和三角网法。三角网方法相比与网格法,能够用较少的空间和时间更精确的拟合复杂地表面,因而得到了广泛的应用。本文主要介绍三角网法生成等高线的算法。下一篇文章用代码实现。
1.
构造狄洛尼三角
在狄洛尼法中将离散分布的地形点称为“参考点”。构成狄洛尼三角网时规定:“每个参考点组成的三角形的外接圆都不包含其他参考点”。其计算方法如下:
1)任取一个参考点作为起始点P1,找出P1附近的一个参考点P2,以两点连线为基边,计算其直线方程。
2)再在附近找第三个点。取到前两点的距离平方和最小的点作为候选点,以该三点作圆,判断周围是否有落入该圆的点。如果有,则该三角形不是狄洛尼三角形,再选用第二个候选参考点进行同样的操作,直到没有其他参考点落入外接圆内为止,则该三角形就是狄洛泥三角形。
3)分边以该三角形的一边作为基边,用同样的方法形成其他三角形。直到所有参考点都参与构造狄洛尼三角网为止。
2.
内插等值点
在相信参考点之间,等高线通过之点称为“高程等值点”,简称“等值点”,等值点的内插就是根据若干相邻参考点的三维坐标求出等值点的平面坐标。由于在测量时,邻近的参考点之间不会有太大的起伏(如果之间地形变化较大则应增加控制点的测量),我们可以把两点之间的高度变化看成是线性的,如下图所示:
图中(x
这篇关于matlab 不规则三角网,[转载]不规则三角网(TIN)生成等高线的算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!