法往往是牺牲真实感来换取给制速度,难以达到自然环境三维真实再现的目的.于是基于vega的大地形调度思想,提出了大面积地景管理与调度的方法。
在对地景进行处理的基础上,系统还需要建立子线程对地景库进行管理和动态调度,使内存中只保留感兴趣区域的*.fst文件。
图4 AOI构成简图
在图4中, 表示观察者的视线方向。x-y平面的规则长方形代表地形单元,视线的平截头体与x-y 平面交叉成的四边形就是AOI。AOI 内的地形单元将被调入内存处理。
图5 地景的动态调度流程图
地景库的动态调度过程如图5 所示,具体调度过程如下:
(1)初始化时,根据观察者的位置,确定感兴趣的区域AOI,映射相应的*.fst 文件。
(2)在观察者漫游的过程中,不断地检测感兴趣的区域AOI是否发生变化,如果超过了某个临界值,就表明感兴趣的区域发生了变化。
(3)将不再感兴趣区域AOI 内的*.fst 文件取消其映射关系,使其从物理内存中消失。将新出现的在感兴趣区域范围内的*.fst 文件映射到物理内存,而且那些一直在感兴趣区域内的*.fst 文件保留原有映射关系。
(4)当新旧*.fst 文件的数据融合后,通知主线程。
(5)将观察者的初始位置设置成当前位置,回到步骤(2),直到退出仿真系统为止。
为了实现三维场景的实时漫游显示,经过建立三维地面模型,并映射反映地面景观的数字遥感影像然后利用视景驱动引擎实现景观的漫游、任意浏览显示。本文的 研究试验采用了多个软件系统。建模和纹理贴图是根据相关的数据结构和模型,在虚拟现实专用建模软件Multigen-creator环境下完成的。视景驱动引擎是在VC 6.0环境下结合Vega的函数库和OpenGL函数库完成系统的编程、调试和运行后完成的。视景驱动引擎一方面完成整个场景中数据的分块调用处理,另一方面,是随着视点的改变,实现地形场景的连续播放显示。图6为系统运行时的一个场景截图。
图6 系统运行场景
4结束语
大范围、不规则三维地形的可视化及其实时显示是一个极富挑战性的课题,尽管前人已做了很多这方面的工作,但真正实用且适合大范围三维地形的可视化及其实时显示的算法还不多。虽然三维地形的范围很大,但在视区范围内的三维地形是有限的,所以基于视相关的算法是大范围三维地形可视化及其实时显示的必由之路,本文提出的基于MultiGen的大面积地形三维可视化仿真系统建模、管理和动态调度的实现方法的具有规范、搜索快的优点,又能适合随着视点的变化而进行连续、动态的三维地形的实时显示,所以,它们是一种在三维地形可视化及其实时显示中优先考虑的方法。
[1] 石教英.虚拟现实基础及实用算法 .科学出版社,2002
[2] Vigna G,Kemmerer R.NetSTAT:A Network—based Intrusion DetectionSystem[J].Journal of Computer Security,1999;(7):37-71
[3] 肖金城,李英成.大规模地形场景三维实时漫游显示技术研究[J].遥感信息,2002—6
[4] 任敏,詹荣开 .基于面向对象空间数据库的三维地景可视化研究[J] .计算机工程与 应用,2002:38(19):209—211 上一页 [1] [2]
|