|||
Captain Dialog 2010-03
等值线是一种离散数据的图形表示方法,在水利、土木、地质、石油勘探等工程和技术领域内广泛的应用。常规的等值线绘制通常采用网格法,其绘制的步骤一般为:离散数据网格化;等值点的计算;等值线的追踪;光滑和标记等值线等。等值线图的显示方式一般有两种:(1)等值线显示,即采用线条上加注数值标记的方式显示数据,这种方式的特点是简捷;(2)采用彩色填充的方法来显示数据,既用不同的颜色来显示不同的数据,这种方法的特点是比较直观。两种方法的计算机实现也各不相同,一般来说,它们都需要将数据进行要用到的网格网格化。第一种方法必须进行等值线的追踪、光滑和标记等值线。而第二种方法可以在追踪出等值线的基础上进行,也可以不做等值线的追踪直接在网格数据上进行操作。
方法实现的难易程度各不相同。
本文参考了文献【1】填充等值线的方法原理,并针对文中的寻找出来用于填充的多边形不是最小多边形进行改进。基于计算机图形学的基于“左转算法”的多边形自动搜索方法可以有效的识别最简单多边形,并结合方位角计算排除重复的多边形。借此提高了填充的效率。并且,结合计算机绘图的原理,本文还在填充的基础上,实现了等值线的追踪,相对经典的等值线追踪算法,此法更加简单,易于编程。
针对非规则数据(即散乱点数据),本文同样提出了构造等值线的方法,首先采用计算机图形学中的二维。。。生成非规则的三角形网格,然后针对每个三角形使用类似规则矩形的处理方式,可顺利解决不规则等值线的绘制问题。
针对不规则形状的等值面,需要对特殊情况进行边界的处理,用规则网格情况下,经常进行等值线的边界进行先扩充再裁剪等方式,结果使得等值面的边界为锯齿状边界;然后利用三角形来构造边界,则会使得边界区域光滑,从而消除锯齿的产生。因此,在处理由散乱点数据构成的不规则等值面时,需要首先对所有的数据点进行三角网的生成,用三角网来构建等值面。
3设计的技术细节关键点
1、等值线的标注:
标注的数值通常写在曲线比较平坦的部分,方法如下:
(1)寻找标注位置。为寻找曲线比较平坦的部分,依次找出3点,计算3点间两线段的夹角,若夹角大于120~,则认为该处适合标注。
(2)调整等值点顺序。要求标注的数值写至等值线中间时,需断开原等值线。若原等值线是非闭合曲线,则被分成两段,原来的等值线起始点和终止点不变,但在切断处增加一个新的终止点和一个新的起始点;若原等值线是闭合曲线,则可当作非闭合曲线处理,把起始点和终止点位置调整到切断的位置。
2、等值线的追踪:
从图形角度分析,可利用当前点的颜色值,确定出一条等值线。
3、等值线的光滑处理:
三次B样条函数处理插值处理
等值线的计算
判断格网的一条边是否与雨量值为 的等高线相交,要看这条边的两个端点的雨量值是否“含有”这个 值,例如点A、B是某个三角网的两个顶点,其雨量值分别为 及 ,则边AB是否与雨量值为 的等高线相交,应判断不等式( 一 )(He一 )≤ 0是否满足,就可以知道边AB是否与等高线相交。以往的此类算法为J 编程的简单,对于W= 或 :He的情况,
采用将雨量值增加微小值的方法,对于此类情况作了专门处理,不需要改动雨量值而是直接追踪,使生成的雨量线更为准确。如图1,穿过点A的雨量线可以看成如虚线的雨量线来处理,只是点F和点G“退化”到了点A,这样追踪时就要经过边AB、边AE,相当于绕着顶点“转”到了边DE。
判断一条边AB是否与等值线W相交的依据为: