船舶操纵模拟器上海洋山港港区三维视景仿真
2020-03-24李晓彬李亚伟
温 鲁, 李晓彬, 李亚伟,, 宋 磊
(1.武汉理工大学 交通学院, 湖北 武汉 430063; 2.山东交通学院 船舶与轮机工程学院, 山东 济南 250357)
0 引 言
三维视景仿真是船舶操纵模拟器的重要组成,由于三维视景系统本身具有精度高、真实性强、实时性好的特点,因此在船舶操纵模拟器中占重要地位[1-2]。以往在三维视景仿真时,数据采集较慢且地形图获取较困难,而采用Google Earth获取地形图则能避免以上问题,且只需经过等高线和矢量化方法的处理,就可得到能够用于生成三维视景模型的数字高程模型(Digital Elevation Model, DEM)。在船舶操纵模拟器的研究上,国内船舶研究机构起步较晚[3-4],廖河树[5]全面系统地介绍了大型船舶操纵模拟器的系统组成,对航海模拟器的研制、开发和使用提供了支持。施朝健等[6]对国内船舶操纵模拟器三维视景仿真系统的技术性能标准进行调查和分析,将船舶操纵模拟器分成3个级别(C1~C3)。王胜正等[7]针对船舶操纵模拟器中的虚拟现实系统进行研究,改进视景系统中海浪渲染方法、分布式渲染技术以及投影图像校正与融合技术。本文重点研究从矢量化角度进行三维地形建模的过程,将通过Google Earth获取的地形图像转换成矢量化的格式文件,运用WinTopo、MapInfo和FME软件把矢量化的地形文件转换成DEM地形文件,再利用Multigen Creator的纹理映射和多细节层次(Levels of Detail, LOD)技术完成上海洋山港港区三维地形模型的建立,最后利用Vega实现对上海洋山港港区三维地形模型的渲染及驱动[8-9]。
1 DEM的生成
通过Google Earth获取真实地形图,运用WinTopo获取矢量化的地图,在WinTopo中设置地理参考点,以保证地理设置的精确性;然后将矢量化的地图导入MapInfo中,获取ArcView图形文件(.shp),并转化为MapInfo version 2.x格式的文件(*.tab);再通过MapInfo中的Vertical Mapper模块,将*.tab格式的文件计算生成数字化栅格文件(*.grd);最后运用FME将生成的数字化栅格文件转换成DEM数据格式文件。此后,即可在Creator中通过New Project工具把DEM数据库转换成DED格式的数据库[9-10]。整个三维地形模型设计流程如图1所示。
图1 三维地形模型设计流程图
1.1 洋山港地形的获取
洋山深水港位于杭州湾口、长江口外的浙江省嵊泗崎岖列岛(洋山景区),由大、小洋山等数十个岛屿组成,如图2所示。
图2 洋山深水港组成
洋山港区的地理位置特别,地形数据的实地测量比较困难。通过Google Earth获取真实地形外貌地图,按照一定的地理比例大小,获取小洋山和大洋山的相对位置及洋山港区的大体轮廓规划,如图3所示。将Google Earth获得的地形图像进行格式转换,并生成高度逼真的等高线图。
图3 洋山深水港区规划
图4 洋山港方案文本文件
1.2 WinTopo矢量化处理
以小洋山为例,通过WinTopo打开获取的地形图像,通过WinTopo中的“矢量化”工具设置“地理参考”;应用多段线编辑工具,将等高线、河岸、河底等地理信息以多段线的形式手动描绘出来,再用赋值工具将多段线赋值并定义颜色以示区分。在绘制完成后,点击“矢量化另存为”命令,将图像另存为.wtx格式的方案文本文件,如图4所示,其中数字为设置的等高线高度值。
再次利用WinTopo打开.wtx格式的方案文本文件,并将其另存为ArcView图形文件,格式为.shp。图形文件如图5所示。
图5 ArcView图形文件
1.3 MapInfo地形数字化
利用MapInfo打开ArcView图形文件(.shp),另存为MapInfo version 2.x格式的文件(*.tab)。然后再通过MapInfo打开*.tab格式的文件。利用MapInfo的Vertical Mapper模块,将数据计算生成数字化栅格文件(*.grd)。图6为生成的地形散点图。图7为生成的数字化栅格地形图。
图6 地形散点图
图7 地形栅格图
1.4 利用FME生成DEM
利用FME将第1.3节生成的地形数字化栅格文件(*.grd)转换成DEM格式的地形文件。图8为FME打开的地形数字化栅格文件。
图8 FME中的地形数字化栅格文件
2 Multigen Creator生成三维地形模型
利用Multigen Creator将DEM格式的数据转化成DED格式的高程数据,然后利用Terrain菜单中的New Project工具,加载DED地形数据文件,如图9所示。使用地形窗口中的Texture面板,为三维地形模型应用地形纹理,并根据海拔高度的不同,映射不同的纹理图案[11]。
图9 三维地形模型的生成
由于港口覆盖货物装卸、堆存、转运和旅客集散用的陆地,包括进港陆上通道(铁路、道路、运输管道等)、码头前方装卸作业区和港口后方区,因此应用LOD技术对三维港口中的不同物体,在不同的细节上建立一组三维港口模型。生成的港口三维地形模型如图10所示,即为上海洋山港港区的三维视景仿真图。将图10与图11的上海洋山港口地形图进行对比分析发现,建立的三维地形模型具有较高的逼真度。
图10 上海洋山港港区三维地形模型
图11 上海洋山港港口地形图
3 应用Vega驱动渲染三维地形模型
由于上海洋山港三维地形已在软件Multigen Creator中建模完成,因此只需在Vega中创建一个新文件(格式为.adf),并导入相应的模块进行调试即可[12]。调试渲染后的上海洋山港港区三维视景仿真效果如图12所示,与图13的上海洋山港港区实景照片进行对比发现,建立的上海洋山港港区三维视景仿真具有较高的逼真度与实时性。
图12 上海洋山港港区视景仿真图
图13 上海洋山港实景
4 结 论
以上海洋山港港区为研究区域,将由Google Earth获取的地形图形经过等高线处理、矢量化分析以及Multigen Creator的渲染、纹理映射、LOD技术的处理,建立可靠的三维地形模型,并经过Vega的渲染及驱动,建立上海洋山港港区的三维地形模型库。
通过Vega对上海洋山港港区三维模型的渲染及调试驱动,得到具有较高的精细度、逼真度和实时性的三维视景模型,可用于船舶操纵模拟器的三维视景仿真系统中。