《1 引言》

1 引言

数字地形模型 (digital terrain model, DTM) 是地形表面形态属性信息的数字表达, 是带有空间位置特征和地形属性特征的数字描述, 当地形属性为高程时称为数字高程模型。DTM自1956年由Miller提出以来, 已在测绘和遥感、农林规划、土木与水利工程、军事领域、地学分析以及地理信息系统等领域得到了广泛深入的研究和普遍应用, 同时也是工程可视化仿真和分析的基础, 受到人们的极大关注 [1,2,3,4]

大型水利水电工程多处于高山峡谷, 地形地质条件复杂多样, 给工程设计和施工带来很大困难。现代水利水电工程设计正向数字化、可视化和智能化方向发展 [4], 三维数字地形模型作为其基础非常重要。它不仅是整个工程施工三维数字模型的重要组成部分、所有工程建筑物布置及施工活动的场所, 而且还是三维地质建模和施工过程中地形动态填挖的受体。地形在水利水电工程中有着广泛的应用途径, 不同应用目的, 相应的数字地形模型需要采用不同的建模方法。

《2 数字地形模型及实现》

2 数字地形模型及实现

在数学上地形可以在所定义的 (x, y) 平面连通域D上用一个连续的函数f (x, y) 来模拟, 三维DTM是对地形的近似表示, 它的建立基于由所测得地形上的n个样本点 (x, y, z) 构成的集合S, 这里z= f (x, y) 。对D进行划分Σ后得到一个以S为顶点的多边形区域集合{d1, d2, …, dm}, 和定义在该集合上的一个连续函数族F={f1, f2, …, fm }, 这样组成一个二元组 (Σ, F) 。若didj相邻, 则在其公共边界处fi=fj。每个函数fi形成的图称为DTM的一个面, 同时DTM的边与节点为每个fi对划分Σ的边与顶点的约束。由于对应n个顶点的平面划分Σ组成O (n) 的边数和区域数, 因此相应DTM的空间复杂度是n的线性函数。此即数字地形模型的数学定义 [5]

数字地形通常有等高线、规则格网 (GRID) 和不规则三角网模型 (triangulated irregular network, TIN) 三种不同的表示方法 [6]。其中, 等高线目前多已作为插值生成三维DTM的基本数据。GRID通常是正方形, 也可以是矩形、三角形等组成的规则网。GRID模型将区域空间按一定的分辨率切分为规则的格网单元, 在计算机实现中是一个二维数组, 每个格网单元或数组的一个元素, 对应一个高程值。GRID模型具有较小的存储量和简单的数据结构, 计算机算法容易实现, 其缺点是不能准确表示地形的结构和细部, 精度较低, 适用于地形较为平坦的地区。TIN模型是由分散的地形点将区域按一定规则划分而成的相连三角形网络, 是一个三维空间的分段线性模型, 通常采用Delaunay三角剖分算法建立 [7]。它所描述的地形表面的真实程度由地形点的密度决定, 并能充分表现地形高程变化细节, 精度高且修改方便, 适用于地形较复杂的地区。其缺点是数据存储量很大且数据结构复杂, 不利于快速显示。

大型水利水电工程多建在地形起伏较大的高原和山区, 根据工程三维可视化设计和动态模拟对三维DTM的需要, 主要分为三类不同的实现方法:

1) 地形填挖是工程施工动态过程中不可缺少的环节, 如基坑开挖、隧洞进出口明挖、施工场地和道路填挖布置等, 表现为对DTM的修改, 要求建筑物与地形精确吻合, 因此要求DTM的精度很高, 且完成对DTM的各种操作之后数字地形一般只是静态地显示人们所关心的一部分, 所以可以选择TIN模型来实现。

2) 大型水利水电工程是一个十分复杂的系统, 其施工场地往往沿河流布置十几甚至几十公里长, 因此对施工总布置的巡航或漫游就很有必要。然而, 建立这样的模型需要庞大的地形数据, 空间的规模越大, 精度越高, 则地形数据的数据量越大。如果在每一帧中都显示处理所有的数据, 实时巡航是不可能的。实际上, 由于每一时刻只能观察到地形的一部分, 而且较远的场景只需要相对简单的数据表示, 所以可对地形数据进行有效的裁剪, 采用多细节层次 (Level of Details, LoD) 技术 [8], 建立与视点相关的多分辨率地形模型进行实时简化, 能大大减少绘制的数据量, 从而达到大规模施工总布置巡航实时显示的要求。

3) 水利水电工程所处地区地形、地质构造复杂, 给工程设计带来很大困难, 三维地质模型作为构筑其可视化设计的基础, 已成为人们研究的热点。地表地形是地质形态中最直接最基本的部分, 而DTM是地质建模过程中所有运算操作的受体, 必须满足存储量小、精度高且易于图形运算的要求, GRID或TIN模型均无法满足。笔者基于TIN地形模型引入非均匀有理B样条 (non--uniform rational B-Splines, NURBS) 曲面技术进行简化运算 [9], 获得了满足以上要求的NURBS地形模型。

综合以上分析, 从地形数据收集、处理到DTM建模与应用的实现过程如图1所示。并以雅砻江锦屏一级水电工程 (拱坝设计高达305 m) 为实例, 根据其地形动态填挖 (场地道路填挖、坝基开挖等) 、包含地形的施工总布置巡航和三维地质建模的需要, 分别采用不同的方法和技术来实现其三维数字地形模型。

《图1》

图1 三维数字地形模型实现过程图

图1 三维数字地形模型实现过程图  

Fig.1 Implementation procedure of 3D DTM

《3 TIN地形建模与分析》

3 TIN地形建模与分析

由等高线生成TIN模型一般有等高线离散化直接生成TIN、将等高线作为特征线构筑三角网、增加特征点生成TIN并进行优化处理等三种算法 [1]。直接用等高线进行地形造型会留有明显的等高线台阶痕迹, 不连续光滑。实际应用表明第三种方法切实可行, 其实质是先将等高线离散化生成TIN, 同时增加特征点以消除其中的平三角形 (三顶点位于同一等高线上) , 然后进一步优化处理不合理情况, 可获得更接近实际形态的地形模型。生成TIN模型可供选择的算法包括生成Delaunay三角形的分治算法、逐点插入法和三角网生长法 [1], 笔者选择应用广泛的逐点插入算法构造Delaunay三角形。

考虑到所生成的DTM还需要进行动态填挖分析, 同时与其他属性相关联, 因此在GIS环境中实现TIN地形模型的过程如下:

1) 在GIS环境中将地形等高线数据导入并数字化存储, 按精度要求离散化;

2) 采用逐点插入法生成初始的TIN模型, 并保证TIN满足唯一性、每个三角形尽可能接近等边形状和保证最邻近的点构成三角形三条原则;

3) 基于原始等高线的拓扑关系, 利用计算机设计特征点自动提取算法增加特征点, 以消除平三角形;

4) 对于所生成的TIN, 以一定的约束准则 (如三角形两锐角之和须大于60°) 进行优化扫描判断, 消除不合理三角化, 清理由于等高线数据过于密集或采集信息缺乏所造成的细小、狭长三角形, 最后内插生成高精度的TIN模型。

按照上述算法对锦屏一级水电站坝区10 m等高线进行TIN地形建模, 并以不同高程位置映射不同的颜色纹理, 获得原始TIN模型。该模型在GIS环境中可进行各种地形分析和填挖分析, 根据施工设计对模型进行坝基开挖、道路填挖、场地布置及导流洞进口开挖等操作, 所获得的一部分结果如图2所示。

《图2》

图2 三维地形TIN模型及分析

图2 三维地形TIN模型及分析  

Fig.2 3D terrain TIN model and analysis

《4 多分辨率地形模型与巡航》

4 多分辨率地形模型与巡航

实际地形是一个非常复杂的三维实体, 要保证三维场景的精确度和真实度, 就需建立一个多边形数据非常庞大的三维实体和高分辨率的地表纹理影像, 这样必然影响场景的实时显示效果, 可能导致迟滞现象。虽然近年来计算机硬件能力得到了突飞猛进的提高, 但是由于大规模地形可视化的海量数据特性仍然需要利用地形简化、多分辨率建模和LoD等技术, 以取得显示效果与显示效率间的均衡 [10]

多分辨率地形模型一般可采用视相关技术或LoD技术来实现。由于LoD技术较成熟且应用广泛, 而且在TIN三角形网格基础上进行的动态网格剖分等技术 [11], 可以有效地进行地形模型的动态简化与选择, 达到良好的显示效果, 因此笔者基于TIN模型采用LoD技术来表达不同层次下多种不同精度水平的DTM, 以实现施工总布置巡航所需要的多分辨率地形模型。

根据实际情况, 该模型的实现步骤如下:

1) 精细TIN模型生成。综合考虑硬件性能、场景复杂度及纹理的数据量, 对施工总布置大地形进行分块, 然后利用上述TIN实现算法对各块地形等高线进行处理, 生成地形块的TIN模型。

2) 多分辨率地形建模。为了避免层次过渡时产生跳跃感, 获得较连续的LoD地形模型, 基于分割插值原理 [12], 采用图元消去方法对TIN地形模型进行简化, 并针对不同块各个区域的关注程度建立不同精度的LoD模型。

3) 采用多分辨率纹理贴图。地形的真实性是地形可视化的重要组成部分, 在多分辨率的地形模型里加入多分辨率的纹理影像 [13], 并根据视点的变化选择不同分辨率的纹理, 不仅可提高地形的真实性, 还可有效地解决纹理和系统内存之间的矛盾。

4) 地面信息与DTM的叠加。根据施工设计提供的资料, 将各种信息如道路、河流、料场、渣场、生活区等, 叠加到已做好纹理贴图的DTM上, 最终形成满足要求的多分辨率模型。

锦屏一级水电站, 工程区所在位置河谷深切, 岸坡陡峻, 阶地不发育;坝区附近可供利用的平缓山坡与滩地很少, 施工布置条件十分困难, 主要场地布置在沿河长约25 km (大坝上游约10 km和下游约15 km) 、宽约3 km的区域。为了直观地查看并协调施工布置的空间位置关系, 有必要对该区域进行巡航实时显示地形地貌及各种施工信息。图3给出了总布置区域上游段和坝区的巡航图。

《图3》

图3 多分辨率地形模型下的施工总布置巡航图Fig.3 Cruising maps of general construction layout on multi-resolution DTM

图3 多分辨率地形模型下的施工总布置巡航图Fig.3 Cruising maps of general construction layout on multi-resolution DTM  

 

《5 NURBS地形简化模型》

5 NURBS地形简化模型

《5.1 NURBS曲面及实现》

5.1 NURBS曲面及实现

NURBS技术是ISO颁布的STEP标准中自由型曲线曲面的唯一表示方法, 而且随着计算机辅助几何设计 (CAGD) 的发展, NURBS技术有了快速的发展和广泛的应用。它对标准的解析图形 (如圆锥曲线、二次曲面、旋转曲面等) 和自由型曲线曲面提供了统一的数学描述, 便于数据库管理, 具有节省存储空间、计算机处理简便易行、灵活修改形状, 并可以保证空间唯一性和几何不变性等优点, 对复杂多变的地表形态有很高的应用价值 [14]。这里简单介绍一下NURBS曲面的基本概念及其在计算机上的实现, 其详细讨论可参考文献[9,15]

一个在控制点为Pij (0≤in, 0≤jn) 下的NURBS曲面可表示为

S(u,v)=i=0nj=0mwijΡijΝik(u)Νjl(v)/i=0nj=0mwijΝik(u)Νjl(v)uk-1uun+1,vl-1vvm+1

式中wij为相应于Pij的权重;Nik (u) 和Njl (v) 分别为k, l阶标准B样条基函数, 定义在节点矢量U={u0, u1, …, un, …, un+k}和V={v0, v1, …, vm, …, vm+k}上。

根据上述理论方程即可计算并实现NURBS曲面的构建, 可通过OpenGL提供的NURBS接口工具来进一步开发利用, 这已在实践中得到广泛应用。不过, 由于NURBS曲面是通过控制点计算实现的, 因此根据已知的数据信息拟合NURBS曲面的方法有两种:若已知数据信息就是控制多边形的顶点, 称为正算法, 这是数学上的计算几何所常采用的;若已知数据信息为曲线上的型值点, 则先要求出控制多边形的顶点之后再拟合NURBS曲面, 称为反算法。在三维数字地形建模中, 已知的数据信息都是地形表面上实际的数据点阵, 不能直接构造NURBS曲面, 因此应该采用反算法 [9]。NURBS曲面实现算法如下:a. 根据研究地形点数据, 得到地形面u, v方向上的曲线矢量;b. 利用反算法求出各曲线矢量上的控制点;c. 对所得到的控制点插值拟合, 根据所需精度确定u, v向的网格点阵, 构造出该地形的NURBS曲面;d. 对所形成的曲面进行边界范围界定并做出相应的修剪, 从而得到相应区域的地形曲面。

《5.2 NURBS地形简化及精度分析》

5.2 NURBS地形简化及精度分析

由于实测的原始等高线往往不能很好地描述悬崖、沟壑, 出现不连续的现象, 不能直接用来建立三维数字地形NURBS模型, 而TIN模型能够很好地表示这些特殊复杂地形的造型, 因此考虑基于TIN模型对其处理并利用NURBS算法简化, 获得满足三维地质建模的DTM。

建立NURBS简化模型的算法可描述如下:

1) 整理原始等高线, 在GIS环境中按所选择的算法生成TIN模型;

2) 将TIN模型从GIS环境中转化到所开发的NURBS处理系统中形成多边形mesh曲面, 并保证三角形没有丢失或产生变化;

3) 在NURBS系统中从mesh曲面按uv方向等间距 (根据所需精度可取任意值) 提取分布均匀且连续的轮廓线, 并进行离散化处理, 反算得到控制信息点数据;

4) 根据上述NURBS算法, 通过所设计的函数FitSurface (U-spans, V-spans, Stiffness) 来拟合生成控制曲面, 其参数分别表示u, v方向网格数和曲面柔韧度 (一般取0.01, 该值越大曲面越平直) ;

5) 按需要的研究区域将所获得的曲面进行范围界定并裁剪, 获得最终的NURBS地形模型。

该建模方法思路清晰简单, 较复杂的图形和数学运算封装在底层, 处理速度快, 实用性强, 所得到的NURBS-DTM不仅可进行各种可视化地形分析, 更为三维地质建模提供了可行的基础。

利用此方法对锦屏一级坝区约2.7 km2的区域进行地形建模, 渲染后的地形模型如图4所示。其中 (a) 图表示第1) 步生成的TIN地形模型, 包含69 272个三角形, 存储量约23 MB;而 (b) 图为简化后的NURBS地形模型, 共10 080个参数网格, 存储量仅为350 KB。

《图4》

图4 三维数字地形模型的NURBS简化Fig.4 NURBS simplification of 3D DTM

图4 三维数字地形模型的NURBS简化Fig.4 NURBS simplification of 3D DTM  

 

由于三维地质模型的准确性一直受到人们的关注, 而DTM又在其中起到非常重要的作用, 因此NURBS简化地形模型的精度分析就显得很有必要。以原始5 m等高线数据为基准, 利用检查点法对其进行精度评定 [1], 即模型精度σ表示为

σ=(1nk=1n(Rk-Ζk)2)12

式中n为检查点数;Zk, Rk分别代表检查点k的原始高程和模型高程。选取30个检查点进行计算, TIN模型和NURBS模型的σ值分别为0.58 m与2.21 m, 而国家测绘局一级精度标准为2.50 m, 可见NURBS简化模型精度已在标准范围内, 足以满足三维地质建模的需要。

《6 结语》

6 结语

大型水利水电工程所涉及的地形区域范围大, 形态复杂且不规则, 而三维数字地形模型作为一项基本数据, 已在工程施工设计可视化、地形分析、动态填挖、三维地质建模等运用过程中起着越来越重要的作用。三维DTM在水利水电工程中的应用实际上已包含了地形可视化研究的全部内容, 如数字地形的表示与转换、多分辨率地形模型、地形的简化以及地形的真实性等。笔者在前人研究工作的基础上, 分别利用Delaunay算法和LoD技术实现了锦屏一级水电站坝区地形TIN模型和施工总布置区域巡航所需的多分辨率模型。并根据三维地质建模的特殊需要, 引入NURBS技术对TIN地形模型进行了简化, 所获得的NURBS地形模型不仅存储量小, 精度损失低, 而且易于图形操作运算, 能够方便地进行一系列可视化分析, 满足多方面的要求。