机场几何建模方法的研究

来源 :硅谷 | 被引量 : 0次 | 上传用户:plm0plm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]机场地形的仿真以其前所未有的人机交互性,真实建筑空间感对诸多领域产生重大影响,基于软件平台Creator软件对大面积三维地形仿真的优点,并且利用DEM数据产生机场地形的方法对机场进行仿真。对Creator软件、地形数据的获取、机场地形的生成以及地表物体的建模和LOD技术的应用都做详细的描述。
  [关键词]机场地形 LOD MultiGen Creator 建模
  中图分类号:G31文献标识码:B文章编号:1671-7597(2008)0310057-02
  
  地形是一类特殊的三维对象,地形模型对于图形处理能力的压力尤为突出,在地理信息系统、飞行模拟等大量以地景作为背景的场合中都要用到地形模型,往往是在人机交互的环境下应用。机场地形在军事和民用领域有着非常重要的作用,地形的生成是地形可视化研究的重要内容之一,它涉及到地理信息系统、虚拟现实、战场环境仿真、娱乐与游戏、地形的穿越飞行、土地管理与利用、气象数据的可视化等广泛的领域。特别是大规模的数字高程模型(DEM)数据的实时可视化,更是实现虚拟现实中地形显示的关键技术之一,DEM就是地表形态的数字形式反映,由于DEM数据集庞大,直接使用原始DEM数据进行可视化,所要绘制的三角形数目,将远远超出目前计算机所能承受的能力,本文选用的仿真建模软件MultiGen Creator提供了 一套完整的工具,能够依据一些标准的数据源,快速、精确的生成大面积地形。本文不仅讲述了对于地形数据的获取、转换、生成、调入的过程。同时还介绍了大面积地形建模、管理和动态调入的实现方法,不仅可以实现大面积自然环境的逼真再现,更重要的是突出它的实用性,有效的解决图像逼真度和实时性之间的矛盾。
  
  一、机场地形建模
  
  机场地形建模的目标是建立有高低起伏、符合真实情况的机场地形,主要制作方法有随机生成法、等高线法和高程数据转换法。随机生成法采用分形算法或随机函数生成随机起伏的地形轮廓,等高线法对等高线插值生成地形轮廓,高程数据转换法则通过对采样点插值生成地表轮廓曲面。
  与其它方法相比,高程数据转换法的数据源直接来自大地测量,可信度好,真实感强。本文采用该方法生成地形轮廓,其基本步骤包括高程信息获取和高程数据转换。
  (一)数据的准备
  1. 获得高程信息
  获得高程信息的方法很多,一般的做法是通过测量一定间隔高程点的标高来得到,该方法准确度高,但花费巨大。也可以通过解读航拍或是卫星照片获得高程信息。大地高程测量需要花费以百万元计的经费和大量时间,对于一般制作者而言,显然不可能做到。如果不需要特别高的精度,普通用户可以通过网络上某些开放资源获取所要高程信息,例如在USGS网站(www.usgs.gov)上可以获得全球各地的免费高程信息。
  2. 生成地形需要考虑的几个因素
  (1)工程的要求,它决定了你的地形的精细程度和所需要的细节层次水平;
  (2)硬件能力,它决定实时运行时多边形、纹理、光源的数量;
  (3)实时渲染软件:它决定实时情况下能否在要求的数据进行渲染;
  (4)多边形预算,它影响你能获得场景真实性的仿真性能,它表示每侦所能绘制的多边形数目,一般分配多边形预算如下:1/3用于地形,1/3用于如光点、建筑物等静止物体,1/3用于如车、飞机等动态物体。
  (5)大面积地形场景库的实时显示在普通的小型仿真应用中,地理覆盖范围一般小于100*100km,纹理多为航空照片或者是小幅卫星图片。由于生成场景库的数据量较小,因此往往采取一次性调入机器内存的方式进行实时显示。
  而在较大型的仿真系统中,地形场景所覆盖的地理范围区域很广,通常从几十万到上百万平方公里,纹理采用大型真实的卫星遥感数据。需要构建大面积复杂的场景库,这样生成的地形场景库数据量庞大,往往到达几十亿甚至上百亿。这样一次驻留在工作站内的海量数据的管理问题是目前视景领域研究的重要内容之一。
  (二)地形模型的建立
  创建地形数据库是一个非常复杂的过程,它需要大量的各种类型的数据文件,包括原始地形数据文件、高程数据文件、特征数据库文件、纹理文件、模型文件等。Creator中可以在创建地形的过程中将所有的设置信息、使用的各种参数设置文件、调板文件及输出目录等保存到专门的工程文件(*.prj)中,工程文件始终跟随地形模型的创建过程,每次更改的设置信息都可以被更新到工程文件中,当我们加载工程文件时,工程文件的所有信息都被自动地加载到Creator中。
  Creator提供了专门创建虚拟地形模型的模块,可以比较方便的创建所需要的地形数据库模型。其基本步骤如下:
  (1)选择Terrain/New Project菜单命令,打开地形文件对话框。在对话框中选择一个DED文件,比如target.ded文件,单击打开按钮即可将该地形数据加载到如图1所示的地形窗口中,创建地形模型数据库的绝大部分设置工作都是在这个窗口中完成的。如果在创建地形模型数据库的过程中需要进行特征映射,可以在Project面板的“Feature Preferences”文本框中指定相应的“dfad.prefs”参数设置文件,该文件中保存了特征数据映射到地形多边形上的控制信息。具体的映射规则和动作则由相应的“dfadbat1.prefs”参数设置文件决定。
  如果在创建地形数据模型数据库的过程中需要引用颜色、材质、纹理等数据,可以分别在“Color”、“Material”、“Texture”文本框中指定相应的调板文件。
  (2)单击Triangle选项,在Algorithm下拉菜单中选择Ploymesh,并将Post Sample Rate编辑框设置为10,单击Apply按钮,在弹出的保存地形数据库文件对话框中设定保存的路径,单击保存按钮即可将所选择的地形文件加载到Creator数据库中地形模型如图1所示。
  
  图1 地形几何模型
  
  (3)可以看出该地形的几何模型由大量的三角形平面构成了地形的起伏形状,但是存在很大的缺点:模型本身占用了很大的存储空间,移动和旋转时反映比较迟钝;Vega在调用该地形数据库文件时耗费相当长的时间;CPU的使用一直是满负荷工作;内存也占用很大;特别在用Vc++程序统一调用运行时,实时系统的动态效果更差。为了克服这个缺陷,必须尽可能多地把位于同一个高度面上的所有三角形面合并为一个平面,减少几何模型面的数量。因为在Creator软件中面的数量越少,存储空间就越少,CPU的负荷也就小,实时系统在一定的时间内可以显示相对多的面,画面效果也会更好。
  (4)环境模型中的图形体和面的几何结构,是不能产生仿真环境的 真实感觉的还需对其表面进行处理即加表面反射和纹理。这样做的好处不仅增加了细节水平及景物的真实感,还可大大减少环境模型的多边形数目,提高图形显示的刷新率。在合并三角形平面之后的地形几何模型表面映射合适的地形纹理,可使地形更加逼真。地形纹理的制作有两种基本方法:一是采用分形技术,二是利用卫星或航拍照片。前者可以制作精度很高的纹理贴图,其缺点是纹理效果单调、与实际地貌有一定差距,并且很难实现贴图与地形高程的匹配以及不同位置地形纹理的自然过渡。后者的优点是可以实现很好的真实感。因为卫星照片是地表真实情况的反映,将其覆盖在对应经纬度的地形轮廓上后可以达到逼真的地形纹理效果。该方法的缺点是卫星照片精度有限,一般只能在远处观察时才能达到良好的效果。例如:分辨率为1米/像素的卫星照片,视点必须设置在离被观察无200米外,否则视觉效果将变差,并且距离越近,图像越模糊。该方法另一个缺点是数据量庞大,影响模型的实时显示效果。假设仿真区域为一百公里*一百公里,采用分辨率为1米/像素的卫星照片,每张照片尺寸为1024*1024像素,则覆盖该区域的照片需要9537余张。如果按每张照片100k计算,则贴图数据量达到950M以上。本文是对机场地形的飞行过程,视点与观察目标距离较远,因此采用卫星照片贴图法完成地形纹理制作。
  
  二、基于MultiGen Creator的三维对象建模
  
  机场的建模应包含以下主要内容:与真实机场基本一致的滑行、起落和进场的视景:机场周围的地标、滑行道、塔台、停机坪指挥塔、雷达站、飞机机库、维修棚、工作人员家属楼和工作楼等与实际地面完全相同,附近的建筑场所和地貌、纹理与实际基本相同。
  (一)指挥塔几何建模的建立
  指挥塔是引导飞机正常起飞和降落的必要通信设施。指挥塔的主要参数:高度26米,地基直径8米。
  (二)具体建模步骤如下
  1.在Creator中新建一个数据库文件,打开View Panel面板,点击按
  钮,选择xz平面,并在Dimension编辑框中设置参数为1.000。单击Face工具栏,选择 按钮,在窗口中画一个平面。
  2.单击Wall工具栏,选择 按钮,在弹出的对话框中用鼠标在旋转面上选择两个点,即确定旋转轴线。在其他编辑框中输入相应的参数,旋转角度360°,回旋体设置为16,如图2所示。最后点击OK。完成指挥塔的几何模型,分别选择该模型的不同表面,在纹理数据库中选择与之相对应的合适的贴图,映射到对应表面上,就得到了逼真的实体模型了。
  
  图2 指挥塔
  (1)模型的建立
  雷达是引导飞机飞行的重要设施,它引导飞机沿着正常的航线航行,安全起飞降落,并且在危险情况下提示飞机驾驶员如何操作。雷达的模型如图3所示。
  
  图3 雷达
  雷达的几何建模也是用Creator中基本的三维建模命令完成的。具体的建模步骤这里不做介绍。
  (2)地形的组合
  整个机场的几何模型就是将所先前建好的机场各个组成部分模型组合起来。参照某空军基地飞机机场的总体布局,将各机场部分模型组合在一起。
  在地形数据文件中指定一处地势平坦的区域,将飞机跑道、指挥塔、机库、维修棚、家属楼和办公楼几何模型一一放置到合适的位置。
  将各个几何模型组合在一起成为机场模型这个过程是比较简单的,这里不作介绍。该机场模型侧重于机场本身,它着重建造了与机场有关的所有设施,并且详细的对各个模型块进行了建造。机场的周边地形只是粗略地建造,尺寸也不是很大。最终所建立的整体机场模型在Vega调用时比较迅速,实时系统中的动态效果也比较好。如图4所示。
  
  图4 机场视景
  
  三、整个机场模型LOD的建立
  
  LOD(Level of Detail)是一组代表模型数据库中同一个物体而又具有不同细节程度的模型对象。在可视化仿真运行过程中,实时系统会根据当前视点位置到模型对象几何中心点的距离选择一个LOD来显示模型对象。就是说,当前视点到模型对象的距离只要在LOD所设置的范围内,那么所有满足条件的模型才会被显示出来,其他不满足条件的模型暂时不会显示出来。
  在机场模型中,如果不加入LOD,飞机在机场上飞行的过程中就不会飞行的很平稳,图像显示质量也不高,还时常出现卡住现象。这是因为计算机处理和显示这些图形的速度是一定的,它不可能瞬间处理和显示所有的模型对象。因此,在整个机场模型中创建有效的LOD非常重要。LOD的创建方法很简单。LOD的创建过程如下:(1)设置最高层节点为当前父节点,然后点击Create工具栏中单击Create LOD按钮,创建一个LOD节点。(2)把模型对象的节点拖到该LOD节点下,这样这个LOD节点就控制了该模型对象。(3)双击LOD节点,设置模型转入转出的距离及其他参数即可。按照上述步骤,经过多方面的考虑,就可以完成整个机场LOD的创建。层次模型如图5所示。
  
  图5 机场模型LOD节点的创建
  
  四、结束语
  
  本文用到了实例化与外部引用技术,模型的实例化技术不同于复制技术,虽然也是实现模型的复制过程,但该技术所产生的模型不占用内存资源,仅内部引用被实例化模型。对原始模型所做的任何修改将会影响其他所有实例化模型。例技术通常与坐标转移技术结合使用,Creator中的提供了FlatGouraudLitLit Gouraud四种明暗模型算法,并可通过计算物体顶点法线增加模型表面的光滑度。考虑到对虚拟飞行视景沉浸性的要求,采用著名的Gouraud明暗处理算法。利用本文介绍的飞机机场几何建模的研究方法已经应用在本实验室的三维虚拟仿真中,它满足了系统所要求的精确度和细节层次水平的要求,具有一定的应用价值。
  
  参考文献:
  [1]高俊、李志光、沈贤祥数字化战场的基础建设[M]北京:解放军出版社, 2004.
  [2]结合3DS MAX和MultiGen Creator进行三维城市建模的研究.北京测绘,2007,2,16~18.
  [3] 洪 光、李洪儒、牟建国,基于Creator的三维模型的简化研究[J].计算机仿真,2004,21(1):57~115.
  [4] 王裕俭,基于MultiGen Creator和Vega的虚拟现实探讨[J].测绘信息与工程,2003,28.(14-16)
  
  作者简介:
  郭希旺,男,汉族,辽宁省盖州市人,现为沈阳航空工业学院硕士研究生,主要研究方向:飞行器数字化制造;刘春,男,教授,沈阳航空工业学院航空宇航工程学院硕士导师,英国伯明翰大学机械工程学博士,曾在沈阳飞机制造公司及英国船舶公司工作,主要从事数字化制造及虚拟仿真技术的研究。
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献