航海模拟器场景中的海浪构网算法制造技术

技术编号:3760331 阅读:411 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于航海场景仿真技术领域,涉及航海模拟器场景中的海浪构网算法。该方法是:设计同心圆网格模型构建海平面,保证了海浪绘制的实时性;采用基于GPU的FFT方法生成符合Phillips谱的海浪高度图;利用顶点纹理获取技术采样多次平铺的高度图,得到网格顶点的高度,从而用网格构建出了海浪表面的几何形状;依据视点位置实时计算网格顶点纹理坐标,实现了海浪与视点的相对运动。本发明专利技术的算法解决了现有海浪构网算法中不能实现完全合理的LOD、无法体现风对海浪的影响、无法实现海浪与视点的相对运动等问题,并在绘制的实时性及真实感上优于其他算法;采用本发明专利技术的海浪构网算法可以科学、实时、逼真地绘制大规模海浪场景。

【技术实现步骤摘要】

本专利技术属于航海场景仿真
,涉及一种航海模拟器场景中的海浪构网算法
技术介绍
航海模拟器是一种典型的人在回路中的仿真系统,航海模拟器的场景为模拟器操纵者提 供了海上训练任务的虚拟景象,其中显示的海浪一般约占整个场景的一半区域,因此海浪是 航海模拟器场景的重要组成部分,也是评价航海模拟器视景系统好坏的关键依据。绘制海浪场景最关键的问题是海浪构网,即如何用多边形网格实时构建出海浪表面的几 何形状。海浪构网需要解决两个主要问题 一是海平面网格模型的建立,二是网格模型中网 格顶点高度的计算。海平面网格模型的网格间距和拓扑结构直接影响海浪绘制的实时性,而 网格顶点高度的计算直接关系海浪绘制的真实感,近年来,国内外学者对这两个问题进行了 一些研究。在海平面网格模型的研究中尹勇将海面划分为动态海面和静态海面,动态海面由以视点位置为中心的^x^个网格组成,动态海面的外围区域为静态海面;Hinsinger等W提出 一种自适应的网格模型,该模型将屏幕上显示的海面区域细分成^x^个矩形网格单元,每 个单元按照逆向透视投影到静止的海平面上,从而获得海面上对应的不均匀分布的MxW个 网格位置;解翠[3对这种自适应的海平面网格模型进行了改进,提出了梯形网格模型; JohansonW提出了投影网格模型,在投影空间建立一个与视线垂直的均匀网格平面,再将该平 面投影到世界空间的海平面上。在网格顶点高度的计算方面,随着图形处理器(Graphics Processing Unit, GPU)性能及可编 程能力的大幅度提高,基于GPU利用高度图来计算网格顶点高度逐渐成为研究的热点。高度 图是保存高度的纹理图,己提出的比较有代表性的高度图生成方法有JohansonW采用Perlin 噪声生成海面高度图;Kryachko^利用顶点纹理获取技术,将美工创建的多个灰度图进行叠 加和重复来生成高度图;Isidoro等和Finch等分别利用正弦波和Gerstner波叠加计算高度 图。现有海浪构网算法主要存在以下不足-1)梯形网格、投影网格等模型的提出,加快了海浪绘制的速度,但这些网格模型的拓扑 结构不合理,不能实现完全合理的层次细节(Levd of Detail, LOD),且模拟的海面容易出现走 样现象。一2i利用现有的高度图生成方法绘制的海浪不能准确体现风对海浪的影响。风所引起的波浪是海面上分布最广的、对于船舶航行和海洋工程实际活动影响最大的波浪,在航海模拟器的船舶模拟驾驶以及工程方案论证中,都要考虑风浪对船舶及码头等的影响,因此航海模拟器的海浪绘制必须要考虑风的作用,也就是说海浪的大小应与风的大小相对应。3)现有的海浪构网算法无法体现海浪与视点的相对运动。在船舶实际驾驶时,海浪与船舶之间的相对运动是一个比较重要的航行参照,因此在航海模拟器中必须体现海浪与船舶(视点"绑定"在船舶上)的相对运动。 参考文献尹勇.分布式航海仿真系统中视景实时生成算法的研究.大连:大连海事大学,2001. Hinsinger D, Neyret F, Cani M P. Interactive animation of ocean waves 〃 Proceedings of the 2002 ACMSIGGRAPH / Eurographics Symposium on Computer Animation, San Antonio, 2002: 16卜166.解翠.基于Web的航海训练环境中关键技术的研究.大连:大连海事大学,2005. Johanson C. Real-time water rendering: introducing the projected grid concept . Lund: Lund University, 2004. Kryachko Y. Using vertex texture displacement for realistic water rendering . Pharr M. GPU Gems2. Boston: Addison Wesley, 2005: 283-294. Isidoro J, Vlachos A, Brennan C. Rendering ocean water . Engel W F, ShaderX: Vertex and Pixel Shader Tips and Tricks, Minnesota: "Wordware Publishing, 2002: 347-356. Finch M. Effective water simulation from physical models , Fernando R. GPU Gems. Boston: Addison Wesley, 2004: 1-16,
技术实现思路
为了解决现有海浪构网算法的不足,针对航海模拟器的实际需求,本专利技术基于波浪谱理 论和GPU技术,设计了一种新的海浪构网算法,该算法在绘制的实时性及真实感上优于其他 算法,采用该算法可以科学、实时、逼真地绘制大规模海浪场景。为了实现上述目的,本专利技术航海模拟器场景中的海浪构网算法如下1) 设计同心圆网格模型模拟海平面具体方法是过视点所在位置做海平面的垂线,得一交点,以该点为圆心,以递增的距 离为半径做多个同心圆,并对每个同心圆进行相同数量的等分,最后连接相邻同心圆的各等 分点组成三角形网格。2) 采用基于GPU的FFT方法生成符合Phillips谱的海浪高度图海浪具有不规则性和不重复性,但其统计特性是稳定的,利用波浪谱以随机过程描述海 浪更为科学准确。比较常见的波浪谱有P-M谱、JONSWAP谱、Phillips谱等,其中Phillips 谱可较好体现风对海浪的影响。 '由于波浪谱将实际波浪视为许许多多振幅不等、相位不同的正弦波动的叠加,而快速傅 里叶变换(Fast Fourier Transform, FFT)方法是计算正弦叠加值的有效方法,因此本专利技术在GPU 中采用FFT方法生成符合Phillips谱的海浪高度图。43) 采样多次平铺的高度图获得网格顶点的高度生成高度图时,FFT方法的采样区域通常小于同心圆网格模型所模拟的海平面范围,对 此可多次平铺高度图以覆盖同心圆网格的全部区域,然后再利用顶点纹理获取技术采样多次 平铺的高度图,得到网格顶点的高度,从而用网格构建出海浪表面的几何形状。4) 实时计算网格顶点纹理坐标以实现海浪与视点的相对运动同心圆网格模型以视点为中心,并随视点一起运动,为了体现海浪与视点的相对运动, 可以依据视点所在位置实吋计算网格顶点纹理坐标,并用得到的纹理坐标采样高度图,这样 同心圆网格虽随视点一起运动,但网格顶点的纹理坐标根据视点位置实时变化,实现了海浪 与视点的相对运动。本专利技术的有益效果在于1) 同心圆网格模型是一种按距离细分的网格模型,该模型对于从视点出发的任意方向, 所构网格的疏密变化程度一致,并随与视点距离的增加,网格的间距不断增大,保证了绘制 帧数的稳定和绘制的实时性,有效减轻了远处海面的走样。同心圆网格模型实现了完全合理 的LOD,体现了人眼的分辨率是有限的和均匀的这样一种基本原则。2) 生成的高度图符合Phillips谱,能够本文档来自技高网
...

【技术保护点】
航海模拟器场景中的海浪构网算法,其特征在于,该算法包括如下步骤:1)设计同心圆网格模型模拟海平面;2)采用基于GPU的FFT方法生成符合Phillips谱的海浪高度图;3)采样多次平铺的高度图获得网格顶点的高度;4)依据视点位置实时计算网格顶点纹理坐标,实现海浪与视点的相对运动。

【技术特征摘要】

【专利技术属性】
技术研发人员:任鸿翔金一丞尹勇张秀凤刘秀文任俊生张新宇孙霄峰解翠
申请(专利权)人:大连海事大学
类型:发明
国别省市:91[中国|大连]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利