一种多海况大范围水面环境模拟方法技术

技术编号:35478036 阅读:17 留言:0更新日期:2022-11-05 16:27
本发明专利技术公开了一种多海况大范围水面环境模拟方法,包括:构建海洋模型,生成海洋模型中波形需要的Phillips频谱、高斯随机数、初始频谱,控制波形的方向;根据初始频谱通过海洋公式生成海洋波形的高度频谱、海洋波形在x方向上的偏移频谱以及在Z方向上的偏移频谱;获取海洋波形的偏移纹理和法线纹理;生成网格、通过网格过滤器和网格渲染器将该网格进行显示;将生成的偏移纹理、法线纹理赋到对应的纹理变量中;以获取当前坐标点相对于海平面在高度方向上的坐标偏移值;将当前表面网格点在海洋模型空间中的最终坐标转换成裁剪空间下的坐标和世界坐标系下的坐标;获取当前表面网格点的法线值,生成在不同角度下有不同颜色值的海面、并添加浪涌和视角远近海水波浪细节图。并添加浪涌和视角远近海水波浪细节图。并添加浪涌和视角远近海水波浪细节图。

【技术实现步骤摘要】
一种多海况大范围水面环境模拟方法


[0001]本专利技术涉及图像处理
,尤其涉及一种多海况大范围水面环境模拟方法。

技术介绍

[0002]现有海面模拟方法中,在水体的模拟和渲染上或多或少存在着问题:水面较为平坦,在高度方向上基本没有任何真实的波动;不能模拟真实情况下海面的多种状况,模拟场景较为单一;没有真实场景中的浪涌;海面大小受限,不能模拟大范围的海面;不能通过视角的远近变换海浪的细节。

技术实现思路

[0003]根据现有技术存在的问题,本专利技术公开了一种多海况大范围水面环境模拟方法,可通过操作控制海浪的高度,海水的波形,不同风速下的海面,视觉远近下海面的波纹细节,平静海面下会出现的浪涌,具体包括如下方法:
[0004]构建海洋模型,生成海洋模型中波形需要的Phillips频谱、高斯随机数、初始频谱,控制波形的方向;
[0005]根据初始频谱通过海洋公式生成海洋波形的高度频谱、海洋波形在x方向上的偏移频谱以及在Z方向上的偏移频谱;
[0006]获取海洋波形的偏移纹理和法线纹理;
[0007]生成网格、通过网格过滤器和网格渲染器将该网格进行显示;
[0008]将生成的偏移纹理、法线纹理赋到对应的纹理变量中;
[0009]对获取的偏移纹理进行采样,以获取当前坐标点相对于海平面在高度方向上的坐标偏移值;
[0010]将当前表面网格点在海洋模型空间中的最终坐标转换成裁剪空间下的坐标和世界坐标系下的坐标;
[0011]获取当前表面网格点的法线值,生成在不同角度下有不同颜色值的海面、并添加浪涌和视角远近海水波浪细节图。
[0012]进一步的,通过高斯随机函数生成随机数种子,使用Xorshift算法生成均匀分布的随机数,对得到的均匀分布的随机数进行Box

Muller转换得到高斯随机数从而得到Phillips频谱。
[0013]进一步的,通过高斯随机数以及Phillips频谱生成海洋的初始频谱。
[0014]进一步的,对生成的高度频谱在X方向上的偏移频谱、在Z方向上的偏移频谱进行IDFT变换,生成海洋波形的偏移纹理,根据偏移纹理生成海洋波形法线纹理。
[0015]进一步的,设置网格在模型空间中对应的顶点坐标、纹理坐标和世界坐标;使用模型空间中的X轴和Z轴的网格坐标对预先做好的偏移纹理进行采样,获取偏移纹理中当前坐标点相对于海平面在高度方向上的坐标偏移值;使用网格顶点的纹理坐标与纹理贴图进行叠加,得到纹理贴图中当前坐标点相对于海平面在高度方向上的坐标偏移值。
[0016]进一步的,使用网格坐标点加上纹理贴图中当前坐标点相对于海平面在高度方向上的坐标偏移值得出当前表面网格点的最终坐标,将获取的坐标转换成裁剪空间下的坐标和世界坐标系下的坐标。
[0017]进一步的,使用海洋模型空间中的网格坐标对法线纹理进行采样,并把模型空间下的法线向量转换到世界坐标系下,以获取当前表面网格点的法线值。
[0018]进一步的,将得到的法线值与视角方向信息进行菲涅尔计算形成菲涅尔效应,生成海面在不同角度呈现的不同颜色值。
[0019]进一步的,使用当前表面网格点的法线值、光源方向、当前海水表面网格点的坐标值,摄像机的位置信息进行海水光照计算和菲涅尔效应计算从而得到当前海面位置的最终颜色值。
[0020]进一步的,获取当前海水表面网格点的坐标值,通过正弦波公式生成浪涌:
[0021]y=sin(x.uv+speed*time)
[0022]其中:x.uv表示当前海水表面网格点的坐标值,speed表示浪涌的移动速度,time表示浪涌起伏的周期,将生成的浪涌与海洋波纹效果相结合得到最终的海洋波纹浪涌的效果。
[0023]由于采用了上述技术方案,本专利技术提供的一种多海况大范围水面环境模拟方法,本方法通过在屏幕中制作多个网格得到当前可用的海面网格,海面波形可通过FFT算法进行控制;其中海面会随着风的速度和方向进行变化;海面的光照角度可变;海面不局限于小范围,相当于实际的10公里;海面可实现真实复杂的动态波动。用高效的方式实现了无限宽广的高细节度的海水水体,同时添加浪涌的效果,实现了对真实海水的反馈,使得海面更加真实。
附图说明
[0024]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为根据本专利技术的多海况大范围水面环境模拟方法的方法流程图;
[0026]图2为根据本专利技术的多海况大范围水面环境模拟方法的风速不同状况下海面效果图;
[0027]图3为根据本专利技术的多海况大范围水面环境模拟方法的风速不同状况下海面效果图;
[0028]图4为根据本专利技术的多海况大范围水面环境模拟方法的风速不同状况下的海面效果图;
[0029]图5为根据本专利技术的多海况大范围水面环境模拟方法的平静海面下海浪+浪涌的效果图;
[0030]图6为根据本专利技术的多海况大范围水面环境模拟方法的平静海面下海浪+浪涌的效果图;
[0031]图7为根据本专利技术的多海况大范围水面环境模拟方法的不同角度下海面的颜色效
果图;
[0032]图8为根据本专利技术的多海况大范围水面环境模拟方法的不同角度下海面的颜色效果图;
[0033]图9为根据本专利技术的多海况大范围水面环境模拟方法的大范围10公里海洋与小范围1000米海洋的对比图。
具体实施方式
[0034]为使本专利技术的技术方案和优点更加清楚,下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚完整的描述:
[0035]如图1所示的一种多海况大范围水面环境模拟方法,包括如下步骤:
[0036]步骤1:构建海洋模型,生成构建海洋模型中海洋波形需要的Phillips频谱和高斯随机函数:首先通过自带的函数来生成随机数种子,然后使用Xorshift算法来生成均匀分布的随机数,对得到的均匀分布的随机数,通过Box

Muller转换,将得到高斯随机数。
[0037]通过公式
[0038][0039][0040]得到Phillips频谱;
[0041]L=V2/g,V是风速,ω2是风向,
[0042]步骤2:按照如下公式生成海洋的初始频谱;
[0043][0044]ξ
r
,ξ
i
是两个相互独立服从均值为0,标准差为1的高斯随机数,
[0045]通过公式
[0046][0047]生成海洋的初始频谱,频谱会随时间发生变化。
[0048][0048]是的共轭复数,k是的模,ω(k)是角频率ω和波长k的Dispersio关系。
[0049]步骤3本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多海况大范围水面环境模拟方法,其特征在于包括:构建海洋模型,生成海洋模型中波形需要的Phillips频谱、高斯随机数、初始频谱,控制波形的方向;根据初始频谱通过海洋公式生成海洋波形的高度频谱、海洋波形在X方向上的偏移频谱以及在Z方向上的偏移频谱;获取海洋波形的偏移纹理和法线纹理;生成网格、通过网格过滤器和网格渲染器将该网格进行显示;将生成的偏移纹理、法线纹理赋到对应的纹理变量中;对获取的偏移纹理进行采样,以获取当前坐标点相对于海平面在高度方向上的坐标偏移值;将当前表面网格点在海洋模型空间中的最终坐标转换成裁剪空间下的坐标和世界坐标系下的坐标;获取当前表面网格点的法线值,生成在不同角度下有不同颜色值的海面、并添加浪涌和视角远近海水波浪细节图。2.根据权利要求1所述的多海况大范围水面环境模拟方法,其特征在于:通过高斯随机函数生成随机数种子,使用Xorshift算法生成均匀分布的随机数,对得到的均匀分布的随机数进行Box

Muller转换得到高斯随机数从而得到Phillips频谱。3.根据权利要求2所述的多海况大范围水面环境模拟方法,其特征在于:通过高斯随机数以及Phillips频谱生成海洋的初始频谱。4.根据权利要求1所述的多海况大范围水面环境模拟方法,其特征在于:对生成的高度频谱在X方向上的偏移频谱、在Z方向上的偏移频谱进行IDFT变换,生成海洋波形的偏移纹理,根据偏移纹理生成海洋波形法线纹理。5.根据权利要求1所述的多海况大范围水面环境模拟方法,其特征在于:设置网格在模型空间中对应的顶点坐标、纹理坐标和世界坐标;使...

【专利技术属性】
技术研发人员:刘厶源马欢刘彦呈朱鹏莅文元全张勤进郭昊昊于春来
申请(专利权)人:大连海事大学
类型:发明
国别省市:

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

1