等值线绘制算法
04-06
1. 等值线绘制的过程分为三个步骤 ,离散数据网格化、等值线生成以及等值线图的填充。项目中的数学模型将离散数据进行了网格化,本模块需要提供等值线的生成和等值线几何体的绘制。
2. 等值线的生成方法。规则化的网格数据提供了每一个网格点上的坐标和浓度值,基本思路是从区域边界开始,利用线性插值逐网格跟踪等值线得到等值线在其所穿过的网格边上等值点的坐标,保存这些坐标并根据一定的方位判别法对这些等值点进行排序,为下一步绘制几何体做准备。
3. 等值线几何体的绘制。一个网格内的等值线确定为直线,不需要进行平滑处理。首先对上一步骤中得到的各条等值线按照其起点的位置进行排序,排序的顺序与等值线追踪的顺序一致,即区域左、上、右、下、内部等值线,内部等值线按照横坐标递增排序,这样排好序的等值线按照起点坐标左、上、右、下、内部的顺序保存起来。整个算法的基本描述如下:
1) 按起点纵坐标从下至上的顺序对起点在左边界上的等值线排序;
2) 按起点横坐标从左至右的顺序对起点在上边界上的等值线排序;
3) 按起点纵坐标从上至下的顺序对起点在右边界上的等值线排序;
4) 按起点横坐标从右至左的顺序对起点在下边界上的等值线排序;
5) 按起点横坐标从左至右的顺序对内部封闭的等值线排序;
6) 填充第三种等值线与网格下边界或左边界以及起点和终点所在的边界所围的区域。对最后一条等值线, 则还需填充与网格上边界或右边界所围的区域;
7) 填充第二种等值线与起点和终点所在的边界以及这二边界相交的顶点所围的区域;
8) 填充第一种等值线与起点和终点所在的边界的顶点所围的区域;
9) 填充内部封闭等值线所围的区域.