海底地形的三维可视化建模研究

2015-12-06 07:50江玉玲彭国均
重庆理工大学学报(自然科学) 2015年10期
关键词:三角网水深纹理

江玉玲,彭国均

(集美大学 a.诚毅学院;b.航海学院,福建 厦门 361021)

近年来,随着GIS技术、计算机图形图像处理技术和虚拟现实技术的快速发展,在虚拟仿真实验室中已经实现了陆上地形的三维可视化,并广泛应用于数字城市建设、航空航海模拟器、海域规划等领域。但由于早期技术水平的限制,对海底地形的研究只停留在粗略漫游阶段,对海底地形细节层次化建模效果不尽如人意。现在航道港口建设、海底工程建设、海洋资源规划以及海底作战等都需要人们对海底地形有详细的了解,因而建立可精准测量海底水深和能体现细节层次的海底地形三维模型成为当今海底地形研究的热点。

本文在航海虚拟仿真实验室对陆上、海岛、海岸、港口可视化建模的基础上,进一步对海底地形进行研究,从海底地形数据获取、处理,TIN地形算法,OpenFlight数据格式海底地形模型的建立,分层设色纹理制作等方面进行技术探讨[1-15]。以厦门港某海域为例,建立了体现细节层次的海底地形OpenFlightt数据模型,以期对后续的海底地形可视化和海底漫游打下基础。

1 数据获取和处理

1.1 海底地形数据获取

构建仿真度高的海底地形模型的首要条件是需要有真实的高精确度的海底地形数据。一般海底地形数据是指海底水深数据。目前测量海底水深数据的主要方法有:①利用回声测深技术测量水深,这种方法测量效率低、精度低,目前较少使用;②机载激光测深技术,一般测量水深小于50 m范围的区域,测量精度高,成本低;③ 星载测深技术,适用于深水海区测量,精度高,但成本也高;④电子海图数据化,数据获取方便、成本低,但提取出的数据分布散乱、间距大,需要合适的插值算法进行插值,精度受制于原始海图的精度;⑤ 多波速测深技术,能够高效率、高精度地测量水深,并且分辨率高,利用其采集的水深数据绘制的海底地形高程图能够反映水下地形的细部特征,近年来已经广泛应用于河流、海域、港口的测量,但其获取的数据保密性高[1]。本文以厦门某海域为例,水深数据来源于海洋部门的多波速测深系统海底地形数据。测量所获得的数据需要经过坐标变换及投影转换、网格化插值、数字化成图等步骤最终才能被利用。

1.2 海底地形数据处理

本文从海洋部门获取的是CAD格式数据,必须对数据进行二次处理。首先从CAD文件中提取水下地形特征的的三维坐标X、Y、Z,其中:X表示水深点纬度;Y表示精度;Z表示高程值,若用负值表示,值越小,表示的水深越深。提取的水深点数据保存为后缀名为txt的文本文件。由于在获取数据时测量不同位置的深度基准面可能会不同,所以需要进行深度基准面的统一。本文统一采用92厦门坐标系,水深基准采用理论最低潮面,高层基面采用1985年国家高层基面。同时,海底地形复杂,测量困难,测量出的水深点可能有噪点,因而需对其进行去噪预处理。具体方法是:划出一个区域,选定一特定点O,将区域内的采样水深点与O点的Z值相比较,当两点Z值差超过一个已设定好的定值时认为其为噪声点,并将其剔除。

2 创建TIN模型

当前,地形数字高程模型主要采用规则格网模型(Grid DEM)、等高线模型(Contour DEM)和不规则三角网模型(TIN DEM)等3种方法表示[2]。其中,不规则三角网用一系列互不交叉的连续的三角网来描述地形表面。它能按地形特征如山脊、山谷线、地形变化线等表示数据高程特征,同时TIN能以不同层次的分辨率描述地形表面,有效减少了数据冗余,目前已成为一种主流建模方式[3]。海底地形类似陆地地形起伏不定,因而海底地形模型的构造方式也可以参照陆上地形的方法。本文选用TIN构造海底地形数字高程模型。

在所有TIN三角网的构网方法中,狄洛尼(Delaunay)三角网的最小角最大,而且经过局部最优化法则(LOP)优化后,它的三角形总是自动逼近等边三角形,同时能保证三角形的唯一性和边长之和最小[4],在模拟地形方面最真实,因此常被用于生成TIN模型。根据三角网生成步骤的不同,主要有分治算法、逐点插入法、三角网生长法等算法[5]。

逐点插入法在1977年由Lawson提出,后来经过一系列的改进,由Bowyer、Watson提出了从点到影响域到三角形重连的方法,具体步骤如下:①定义一个凸包,将其属性设为包含所有数据点;②在凸包范围内中建立一个原始Delaunay三角网;③插入一个新数据点P;④ 找到P的影响区域形成空洞,再将P与空洞内的三角形顶点相连,利用局部最优化法则(LOP)优化,形成一系列新的三角形;⑤重复以上2个步骤,直至处理完所有点。图1为逐点插入法的具体过程。

图1 逐点插入法的具体过程

3 实现TIN的三维可视化建模

由于在现有的虚拟仿真实验室中,虚拟漫游系统并不能直接识别TIN模型,因而还需进行模型转换,即将TIN模型转换为现有仿真实验室系统中可识别的三维地形模型。

目前,TIN实现三维可视化有几种方法:一种是直接使用底层图形库OpenGL,这种方法自由但编程复杂,工作量大;另一种是将TIN模型转换为OpenFlight模型。OpenFlight是有逻辑的层次分明的场景数据库,数据模型精确可靠,其数据格式已成为虚拟仿真中的工业标准,可用商业建模软件Multigen Creator创建。本文采用第2种方法,即将TIN格式的地形文件转换为OpenFlight格式模型[14],从而实现海底地形的可视化。

实际海底地形生成是从海底地形数据的获取到生成OpenFlight格式的FLT三维地形模型文件,并经过纹理处贴图处理的过程。在这个过程中,涉及到数据格式的转换和数据优化处理等问题。构建三维海底地形的基本流程如图2所示。

3.1 数据转换

将TIN格式的数据转换成OpenFlight格式需要通过 ArcGIS、3DMax、Multigen Creator等软件进行,基本过程如下:通过ArcGIS的3D分析功能ArcScene将本文的TIN文件导出为wrl文件[6]。由于地形一般覆盖的面积比较大,生成的地形模型数据量大,为了提高计算机处理速度,需要把地形分块。在ArcGIS中把文件进行分块处理。wrl文件是纯ASCII文件,可用文本编辑器打开和编辑,但它不是三维文件,需要选择三维建模软件将其进行场景模型输出。三维建模软件3DMAX可将wrl文件转换为stl文件。stl文件是一种三维模型文件格式,它由多个三角形面片的定义组成。每个三角形面片的定义包括三角形各个顶点的三维坐标及三角形面片的法矢量[13]。最终,在三维建模软件Multigen Creator中导入stl文件,并将其转换为OpenFlight格式的flt文件。数据转换基本流程见图3。

图2 构建三维海底地形的基本流程

图3 数据转换基本流程

根据以上流程,构建厦门港某海域的海底地形OpenFlight模型,如图4所示。

图4 厦门港某海域海底地形OpenFlight模型

3.2 数据优化

数据优化主要是对转换来的OpenFlight数据库进行调整和优化,主要包括:

1)删除冗余面。主要是删除一些与陆上地形重合的三角形面片。三角面片数量的多少直接关系到计算机处理速度,所以对重复冗余的面要尽量找出并删除。

2)调整数据库层级结构。由于海底地形包含范围广,在建模前一般将数据分块,这有利于后续仿真系统漫游时根据视点的遍历范围调用分块模型。然而对于分块模型就存在模型数据库组织的问题。根据子节点和组节点关系划分,可用3种类型组织模型数据库:线型结构、空间结构以及逻辑结构。在实际应用中,根据不同情况采用不同的数据组织方式[9-11]。

3)调整模型的细节层次(LOD)。根据视点遍历范围,对于距离远的地形,采用粗糙细节层次模型;对于距离近的地形,采用精细的模型。

4 海底地形纹理制作与映射

根据图4可以看出:海底地形模型中包含大量的三角面片。三角面片的密集度越高,说明在此处的水深采样点越多,数据越详细。在地形三维模型创建后,还需要对地形进行纹理映射,以提高地形的真实度。目前大部分纹理数据来源于卫星图片、遥感图片、航拍图片等[7,15],但用这些方法获得海底地形的图片难度很大,并无实际意义。为了直观显示海底地形,本文提出了根据海底地形的高低起伏,用分层设色的方法来制作海底地形的纹理,并进行纹理贴图以表现其地形变化[8]。

在ArcGIS中,根据海底地形文件的水深高低设置区域颜色。水深越深,颜色设置越蓝;水深越浅,颜色设置越向浅蓝靠近。颜色设置如图5所示。最终,在ArcGIS中截取设置好颜色的地形文件,保存为RGB格式的文件,长宽均为2的N次幂,单位为像素。在纹理贴图时,要注意地形模型的位置和纹理图片位置的对应。最终,贴好分层设色纹理后的海底地形模型如图5所示。采用分层色阶图形纹理,能够让人们在后续的海底漫游中对海底水深有直观的感觉。图5中深颜色部分表示水深较深的航道。

图5 分层设色海底地形纹理映射

5 结束语

在现有虚拟仿真模拟实验技术的基础上,以厦门港某海域为例,利用TIN三角网构建技术构建海底高程地形,经过数据转换得到OpenFlight三维地形模型;采用分层设色制作海底纹理,最终构建了能够体现细节层次的海底地形三维模型。以此方法构建的厦门海底三维模型已应用于“厦门港三维海域管理信息系统”中,效果良好。但是所构建的海底地形包含三角形面片数量大,加载地形时间长,在模型的调度处理上还有待进一步的研究。

[1]范瑞杰.真实感海底地形三维可视化实现技术[D].郑州:解放军信息工程大学,2013.

[2]侯波.真实感三维地形造型及可视化[D].成都:电子科技大学,2004.

[3]沈春林.基于DirectX的三维数字地形真三维显示关键技术的研究[D].南京:南京航空航天大学,2005.

[4]许多文.不规则三角网(TIN)的构建及应用[D].南昌:江西理工大学,2010.

[5]吴梅君.基于散乱点云的烟盒结构光视觉检测系统设计与研究[D].南京:南京理工大学,2013.

[6]周世波,许建锋.基于ArcGIS和Creator的三维地形建模[J].集美大学学报:自然科学版,2009(3):269-273.

[7]尹冬丽.大场景三维景观数据的组织与可视化研究[D].阜新:辽宁工程技术大学,2011.

[8]韩李涛,范克楠.三维地形颜色渐变渲染的光滑过渡方法研究[J].地球信息科学,2015(1):31-35.

[9]刘海洋.三维地形生成的关键技术研究[D].哈尔滨:哈尔滨工程大学,2012:30-35.

[10]阿特尔.基于GPU的三维地形真实感绘制技术研究[D].长春:吉林大学,2013:8-10.

[11]苏永芝,刘党辉,张振伟.基于MultiGen Creator的航天发射场三维模型优化技术[J].系统仿真学报,2013(8):1816-1819.

[12]王乘,周均清,李利军.Creator可视化仿真建模技术[M].武汉:华中科技大学出版社,2005.

[13]3D模型文件格式之STL详解[EB/OL].[2014-05-21].http://www.cdu.net.cn/3D/2014-04-15/703.html.

[14]陈真,费立凡,邓敏.ArcGIS和Creator各自支持的TIN之间的转换[J].地理空间信息,2006(4):34-36.

[15]黄超超,凌永顺,吕相银.地形纹理映射方法研究[J].计算机仿真,2005(1):209-212.

猜你喜欢
三角网水深纹理
书法静水深流
基于水深分段选择因子的多光谱影像反演水深
多波束海底地形水深注记抽稀软件对比
基于BM3D的复杂纹理区域图像去噪
结合Delaunay三角网的自适应多尺度图像重叠域配准方法
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
针对路面建模的Delaunay三角网格分治算法
消除凹凸纹理有妙招!
GPS RTK技术在水深测量中的应用