CN104299259A - 一种动态插值方法和海面场景生成方法 - Google Patents

一种动态插值方法和海面场景生成方法 Download PDF

Info

Publication number
CN104299259A
CN104299259A CN201410151789.0A CN201410151789A CN104299259A CN 104299259 A CN104299259 A CN 104299259A CN 201410151789 A CN201410151789 A CN 201410151789A CN 104299259 A CN104299259 A CN 104299259A
Authority
CN
China
Prior art keywords
wave
moment
coordinate
dynamic interpolation
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410151789.0A
Other languages
English (en)
Inventor
李建胜
陈杰
郝向阳
刘松林
王俊亚
贺磊
蒋理兴
钦桂勤
葛磊
朱述龙
黄东华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201410151789.0A priority Critical patent/CN104299259A/zh
Publication of CN104299259A publication Critical patent/CN104299259A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种动态插值方法和海面场景生成方法,动态插值方法包括将海面生成点坐标设置为与时间相关的函数和计算任意一点处应添加的动态插值点个数和各动态插值点对应的坐标;海面场景生成方法采用新的动态插值方法——多重动态不均匀插值,可以根据具体的高度差的值动态地添加一个或多个点,这样就能够有效地减少图像由于随机参数的不可预见性和不可控性产生的图像不连续现象,提高仿真效果,同时由于减少了海浪波动方程的三角函数计算,对提高仿真的实时性也有较好的作用。

Description

一种动态插值方法和海面场景生成方法
技术领域
本发明涉及一种动态插值方法和海面场景生成方法。
背景技术
海浪的研究在现代水力学、流体力学、波浪学、计算机图形学、虚拟现实应用、雷达回波模拟等领域中凸现出重要价值。海浪模拟技术作为海浪研究的重要内容:在军事领域中应用于海战场环境仿真研究、海军战术导弹飞行控制实验、海面回波仿真、雷达成像模拟研究等,为作战平台的仿真开发、武器系统的研制奠定基础。
目前针对海浪的建模方法有很多类,但多数建模方法只针对某些具体应用需求,使得模型的侧重点有所不同。例如三维网络游戏、动画片、海战场环境仿真等应用中,模型的建立更注重实时性的要求,因而此领域将在提高实时性的前提下,增强视觉的逼真效果。对于某些工程性较强的领域,如船舶控制工程试验、海面回波仿真及对海面波浪的SAR成像仿真等应用中,则进一步要求海浪模拟的逼真程度。
目前海浪的三维仿真一般采用基于海浪谱的方法,它是采用适当的海浪谱反演方法模拟海浪,一般常采用的反演方法有线性过滤法和线性叠加法。所谓线性过滤法就是根据待模拟的海浪谱,设计出一个过滤器,在这个过滤器的一端输入某一已知的随机过程,通常采用白噪声,在另一端即可得到所需模拟的波面过程。采用此法得到的海浪与真实的海浪谱有较大误差,所以没有得到广泛应用。所谓线性叠加法就是将海浪视为由多个不同振幅、不同角频率和不同随机相位的波叠加而成,只要找到各个组成波的波幅、角频率、随机相位等要素,就可以得到这个随机过程的一次实现。这种方法物理概念清晰,计算方便快速,而且模拟结果和海浪谱非常吻合,所以利用率较高。目前,线性叠加法中应用较多的是Longuet-Higgins模型和快速傅立叶变换(FFT)法。
Mastin于1987年提出一种海水模拟的统计学模型,此模型通过快速傅立叶变换(FFT)将经验得出的海浪谱转换成海面高度场,基于快速傅立叶变化的海浪模拟是在这些波浪模拟方法中效果比较逼真的一种模拟方法。由于浪的弥散性,使叠加而成的正弦波看上去是连续的,而不仅仅是一堆不相关的正弦波的简单叠加,从而避免了形成不均匀的波浪场。由于FFT具有周期性,我们可以通过FFT变换生成一小块海域,然后拼接成较大的海面。
海浪的计算机实现需要大量的数据计算才能生成,但是由于海面仿真数据量大,计算量多,普通计算机难以逼真的完成大场景的海面实时仿真,计算的实时性是海面仿真的瓶颈。三维海浪的运动效果的真实感和实时性是两个衡量模拟效果的重要方面,在两者之间找出平衡点是十分必要的,常采用的方法有动态插值、纹理映射技术,双缓冲技术以及LOD(Levels of Detail)技术。
苏州大学陈志伟的硕士论文《基于统计模型和GPU的实时海浪模拟研究》提出以下研究论点:以快速傅里叶变换方法生成海浪表面的算法为基础,利用编程工具CUDA将FFT运算从CPU移至GPU上执行,提高了海浪高度场的生成速度。为了能够提高大规模海浪的绘制速度,该论文提出了一种利用投影网格算法进行海面网格划分的方法,来替代用来加快场景绘制的传统LOD技术,并利用环境纹理映射技术进行实时海浪绘制。本发明提出了一种采用新的动态插值方法实现海面场景的生成。
发明内容
本发明的目的是提供一种动态插值方法以实现海面场景的生成,同时提供了一种使用该动态插值方法的海面场景生成方法。
为了实现以上目的,本发明动态插值方法所采用的技术方案是:一种动态插值方法,步骤如下:
(1)将海面生成点坐标为(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g;
为随机生成的相位角;
(2)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值。
本发明海面场景生成方法所采用的技术方案是:一种海面场景生成方法,步骤如下:
(1)利用FFT法计算海面生成点坐标(x,y,z);
(2)将点坐标(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g;
为随机生成的相位角;
(3)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值;
(4)根据视景体大小,利用LOD构建细节层次模型;
(5)利用双缓冲进行加速海浪绘制。
所述步骤(4)中利用LOD构建细节层次模型时,采用3级LOD网格,将整个海面按照离视点远近,划分非大小相等的三块,每块采用不同的分辨率构造网格,网格间采用二叉树分割。
所述步骤(5)中利用双缓冲进行加速海浪绘制时,调用OpenGL中的函数SetPixelFormat()绘制海浪运动图像的装置,设置显示形式为双缓冲;绘制完成后,调用函数SwapBuffets()交换图形缓冲区图像装置,用于将图形缓冲区图像内容交换到当前画面缓冲区;图形缓冲区和当前画面缓冲区的显示数据交替出现实现海面场景的生成。
本发明的海面场景生成方法采用一种新的动态插值方法——多重动态不均匀插值,可以根据具体的高度差的值动态地添加一个或多个点,这样就能够有效地减少图像由于随机参数的不可预见性和不可控性产生的图像不连续现象,提高仿真效果,同时由于减少了海浪波动方程的三角函数计算,对提高仿真的实时性也有较好的作用。另外,由于传统的动态插值方法会造成海浪的跳变,本发明的多重动态不均匀插值可以使海浪平滑逼真,减少跳变现象,弥补原有方法的不足。
附图说明
图1为本发明海浪建模虚拟仿真验证系统框架图;
图2a~图2d为波浪逐渐减少的海面仿真初步效果图;
图3a~图3b为波浪方向(风向)变化的海面仿真初步效果;
图4a~图4b为波浪弥散系数变化的海面仿真初步效果;
图5a~图5b为波长最大最小变化的海面仿真初步效果;
图6a~图6b为波浪振幅变化的海面仿真初步效果。
具体实施方式
下面结合附图及具体的实施例对本发明进行进一步介绍。
海浪具有丰富的细节特征和动态变化的特性。由于海浪的自身不规则特性,如何用最少的时空开销去刻画足够的细节,就成了模拟海浪的主要任务。为了达到实时性,一个三维应用程序需要15帧/s,在这样的刷新率下,意味着实时三维应用程序每秒钟需要更新几亿个像素,需要中央处理器做相当大的工作来为每个新图像更新显示。常规的基于CPU的处理技术已经不能满足应用需要,这就必须充分利用计算机图形处理器技术GPU的工作能力来分担CPU的负担,提高实时性。利用GPU技术设计的海浪建模虚拟仿真验证系统框架如图1所示。
本发明提供了一种动态插值方法,步骤如下:
(1)将海面生成点坐标为(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值,此处的设定参数一般为风力值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g;
为通过随机生成的相位角,一般是通过随机函数rand()随机生成的,rand()是编译环境自带伪随机生成函数;
(2)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值。
本发明还提供了一种海面场景生成方法,步骤如下:
(1)利用FFT法计算海面生成点坐标(x,y,z);
(2)将点坐标(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值,此处的设定参数一般为风力值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g
为随机生成的相位角,一般是通过随机函数rand()随机生成的,rand()是编译环境自带伪随机生成函数;
(3)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值;
(4)根据视景体大小,利用LOD构建细节层次模型;
(5)利用双缓冲进行加速海浪绘制。
所述步骤(4)中利用LOD构建细节层次模型时,采用3级LOD网格,将整个海面按照离视点远近,划分非大小相等的三块,每块采用不同的分辨率构造网格,网格间采用二叉树分割。
所述步骤(5)中利用双缓冲进行加速海浪绘制时,调用OpenGL中的函数SetPixelFormat()绘制海浪运动图像的装置,设置显示形式为双缓冲;绘制完成后,调用函数SwapBuffets()交换图形缓冲区图像装置,用于将图形缓冲区图像内容交换到当前画面缓冲区;图形缓冲区和当前画面缓冲区的显示数据交替出现实现海面场景的生成。
本发明采用的FFT算法是最有效的一种计算方式,它能实时叠加大量单元波。对于NM(N=2i,M=2j)(i,j为正整数)的复数集Fn,m,通过二维快速傅里叶逆变换可得复数集Fp,q
F p , q = Σ n = - N / 2 N / 2 - 1 Σ m = - M / 2 M / 2 - 1 F n , m exp ( i 2 π ( np N + mq M ) )
其中p∈[-N/2,N/2-1];q∈[-M/2,M/2-1]。为使用FFT算法,将上式改写成复数形式:
其中,R表示取复数的实部。的取值,在面积Lx×Lz的水平面建立N×M规则采样网格,共计N×M个采样点。可得n∈[-N/2,N/2-1],m[-M/2,M/2-1],由以上公式可推导出:
nL x N · k x = 2 π np N mL z M · k z = 2 π mq M
解上述方程可得波数矢量的取值:
k=(kx,kz)=2πp/Lx,2πq/Lz)
根据的表达式,可得出:
x = x 0 ( P ) + μ · R ( Σ n = - N / 2 N / 2 - 1 Σ m = - M / 2 M / 2 - 1 i · U kx H ( k → , t ) exp ( i 2 π ( np N + mq M ) ) ) y = y 0 - R ( Σ n = - N / 2 N / 2 - 1 Σ m = - M / 2 M / 2 - 1 H ( k → , t ) exp ( i 2 π ( np N + mq M ) ) )
利用现有FFT算法库,令
x = x 0 ( p - N / 2 ) + μ ( - 1 ) ( p + q ) · R ( Σ n = 0 N - 1 Σ m = 0 M - 1 i · ( - 1 ) ( n + m ) U kx H ( k → , t ) exp ( i 2 π ( np N + mq M ) ) ) y = y 0 - ( - 1 ) ( p + q ) · R ( Σ n = 0 N - 1 Σ m = 0 M - 1 ( - 1 ) ( n + m ) H ( k → , t ) exp ( i 2 π ( np N + mq M ) ) ) x = z 0 ( q - M / 2 ) + μ ( - 1 ) ( p + q ) · R ( Σ n = 0 N - 1 Σ m = 0 M - 1 i · ( - 1 ) ( n + m ) U kz H ( k → , t ) exp ( i 2 π ( np N + mq M ) ) )
对于上式,只要知道便可使用FFT算法一次性求出各采样点的高度值y和修正后的水平坐标x,z。
在进行加速海浪绘制时,采用随机中点位移算法可得到任意一点P在t时刻的位置坐标,以第一次细分为例,正方形中点O的坐标和AB中点E的坐标分别为:
(x,y,z,t1)O=[(x,y,z,t1)A+(x,y,z,t1)B+(x,y,z,t1)C+(x,y,z,t1)D]/4+gauss()
(x,y,z,t1)E=[(x,y,z,t1)A+(x,y,z,t1)B+(x,y,z,t1)C+(x,y,z,t1)O]/3+gauss()
上式中,为gauss()高斯函数,技术上采用模拟近似的方法来计算随机量,比原有高斯算法效率高;gauss()=(rand()%(r+0.5)-r/(d+1));rand()是编译环境自带伪随机生成数;r为与时刻t相关的波高;d为当前迭代次数。
在不同时刻t可以生成不同的波高,随着时间的变化可以生成波浪运动效果,使用随机数方程生成的随机数具有不可见性和不可控性。这就有可能使在相邻的两个时间取值点计算出的波高相差较大。这种现象导致了在两个相邻的时间取值点t1、t2模拟出的波浪产生跳变,使图像与真实海浪的波动效果差别较大,为了解决这个问题,本发明采用多重动态不均匀插值,其具体过程如下:
设任意一点P在相邻两个时刻t1、t2的坐标分别为(x1,y1,z1,t1)和(x2,y2,z2,t2),设定3个参数d,l,N,其中d为P点在t1、t2时刻的波高差值;l为均匀度参数;N为动态插值点的个数,则N=Int(d/l),对应的动态不均匀插值点坐标公式为:
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N ,
其中,tn为t1、t2时刻之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值。
当N=0时,即点P在t1、t2时刻波高差值小于均匀度参数l时,(x,y,z,tn)=(x,y,z,t2),即不添加插值点,而当N>0时,可以根据具体的高度差d的值动态地添加一个或多个点,这样就能够有效地减少图像由于随机参数的不可预见性和不可控性产生的图像不连续现象,提高仿真效果,同时由于减少了海浪波动方程的三角函数计算,对提高仿真的实时性也有较好的作用。
本发明综合利用了多重动态不均匀差值、纹理映射,双缓冲以及LOD来实现基于FFT的快速海面场景生成,下面对各技术进行详细介绍。
纹理映射是将一个纹理图像映射到三维物体表面来模拟景物表面细节的方法,是真实感图形生成的有效途径。在实时模拟海浪波动效果时,如果对使用FBM方法生成的所有质点都进行模拟,那么当前的PC机性能无法同时保证模拟出的海浪效果的真实性和实时性。为此可以使用具有四方连续性的海浪图像作为纹理源贴到生成的每个正方形上。这样不仅可以有效地提高模拟效果的真实感,还能大大减少计算量,提高模拟的实时效果。此处可以使用OpenGL相关函数来实现。
双缓冲技术是指在双缓冲区的窗口执行绘图命令实际上是在画面以外建立一个场景,然后很快地交换到窗口视图中。OPENGL中使用双缓冲技术,首先使用函数SetPixelFormat()设置窗口的像素格式,绘制完成后,使用函数SwapBuffets()交换缓冲区,将图形缓冲区内容交换到当前画面显示缓冲区。图形缓冲区和当前画面缓冲区的显示数据交替出现,这种方式可以减少单一当前画面缓冲区由于计算延迟产生的闪烁现象,能有效地提高模拟效果。
LOD是根据物体模型的节点在显示环境中所处的位置和重要程度,决定物体渲染的资源分配,降低非虫咬物体的面数和细节度,从而获得高效率的渲染运算。海面是一个复杂的三维曲面,需要对其表面进行细化,分割成一些比较容易处理的基本单元,如三角形或四边形,细化后的曲面成为网格曲面。通过LOD技术可以简化视景体中的海面网格,从而减少网格采样的计算量。本发明采用3级LOD网格,即将整个海面按照离视点远近,划分非大小相等的三块,每块采用不同的分辨率构造网格,网格间采用二叉树分割。
仿真验证:本发明在Inteli5CPU3.0GHz,内存为4GB,GPU为NVIDIAQuadro2000,显存为1GB的PC上,采用横向和纵向各平铺256m×256m高度场(网格间距为1m)4次,渲染结果如表1所示。
表1仿真结果对比
算法 采样数 帧速度
GPU加速FFT 256×256 36
普通FFT 256×256 20
直接叠加法 256×256 12
不同风速下的海浪效果如图2~图6所示:图2为波浪逐渐减少的海面仿真初步效果;图3为波浪方向(风向)变化的海面仿真初步效果;图4为波浪弥散系数变化的海面仿真初步效果;图5为波长最大最小变化的海面仿真初步效果;图6为波浪振幅变化的海面仿真初步效果。
由以上分析可知,采用直接叠加法在普通PC机上仿真速度最慢,难以实现实时仿真。采用FFT算法可以获得20的帧速率,而利用GPU加速后可以达到36的帧速率,结果表明利用GPU和FFT加速绘制可以获得高度逼真的动画效果,实时性也是最好的;并且,采用多重动态不均匀插值能够有效地减少图像由于随机参数的不可预见性和不可控性产生的图像不连续现象,提高仿真效果,同时由于减少了海浪波动方程的三角函数计算,对提高仿真的实时性也有较好的作用。
本发明的方法及装置具有以下特点:大场景海浪仿真速度快,效果逼真;参数设置简单,只需要设置风速、风向和波形控制因子,便可模拟不同海况、方向和陡峭程度的海浪;适应性好,适用于任何海浪谱。
本发明的实施例主要介绍了一种新的动态插值方法,并将该方法应用于海面场景生成方法中,其综合应用的纹理映射,双缓冲以及LOD方法均为现有技术,当然也不局限于上述方法,凡是利用其变形方式的均落在本发明的保护范围内。

Claims (4)

1.一种动态插值方法,其特征在于,步骤如下:
(1)将海面生成点坐标为(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g;
为随机生成的相位角;
(2)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值。
2.一种海面场景生成方法,其特征在于,步骤如下:
(1)利用FFT法计算海面生成点坐标(x,y,z);
(2)将点坐标(x,y,z)设置为与时间相关的函数:
yi=(x,z,t)=Aisin(kix-ωit+φi)cos(kiz-ωit+φi)
其中,Ai为根据输入的设定参数按照对应关系所取的仿真设定值;
Ti为设定的仿真周期,则ωi=1/Ti
ki为组成波的波数:ki=ωi 2/g;
为随机生成的相位角;
(3)计算任意一点处应添加的动态插值点个数N和各动态插值点对应的坐标;假定两相邻时刻分别为t1、t2,其计算公式如下:
N=Int(d/l)
其中,d为该点在相邻两个时刻的波高差值;l为均匀度参数;
( x n , y n , z n , t n ) = ( x 1 , y 1 , z 1 , t 1 ) + ( t n - t 1 t 2 - t 1 ) [ ( x 2 , y 2 , z 2 , t 2 ) - ( x 1 , y 1 , z 1 , t 1 ) ] , 0 ≤ n ≤ N
其中,(x1,y1,z1,t1)和(x2,y2,z2,t2)为该点在两相邻时刻t1、t2的坐标;tn为t1、t2之间第n个动态插值点对应的时刻,(xn,yn,zn,tn)为tn时刻对应的坐标值;
(4)根据视景体大小,利用LOD构建细节层次模型;
(5)利用双缓冲进行加速海浪绘制。
3.根据权利要求2所述的海面场景生成方法,其特征在于:所述步骤(4)中利用LOD构建细节层次模型时,采用3级LOD网格,将整个海面按照离视点远近,划分非大小相等的三块,每块采用不同的分辨率构造网格,网格间采用二叉树分割。
4.根据权利要求2或3所述的海面场景生成方法,其特征在于:所述步骤(5)中利用双缓冲进行加速海浪绘制时,调用OpenGL中的函数SetPixelFormat()绘制海浪运动图像的装置,设置显示形式为双缓冲;绘制完成后,调用函数SwapBuffets()交换图形缓冲区图像装置,用于将图形缓冲区图像内容交换到当前画面缓冲区;图形缓冲区和当前画面缓冲区的显示数据交替出现实现海面场景的生成。
CN201410151789.0A 2014-04-16 2014-04-16 一种动态插值方法和海面场景生成方法 Pending CN104299259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410151789.0A CN104299259A (zh) 2014-04-16 2014-04-16 一种动态插值方法和海面场景生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410151789.0A CN104299259A (zh) 2014-04-16 2014-04-16 一种动态插值方法和海面场景生成方法

Publications (1)

Publication Number Publication Date
CN104299259A true CN104299259A (zh) 2015-01-21

Family

ID=52318981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410151789.0A Pending CN104299259A (zh) 2014-04-16 2014-04-16 一种动态插值方法和海面场景生成方法

Country Status (1)

Country Link
CN (1) CN104299259A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105136108A (zh) * 2015-07-28 2015-12-09 哈尔滨工程大学 一种基于立体视觉高精度波浪浪高测量方法
EP3182376A1 (en) * 2015-12-15 2017-06-21 Dassault Systemes Simulia Corp. Virtual reality authoring method
CN109520700A (zh) * 2018-08-31 2019-03-26 中国船舶工业集团公司第七0八研究所 一种极端波浪的生成方法
CN109712243A (zh) * 2018-11-22 2019-05-03 华中科技大学 一种基于蒙特卡罗法的生成单向传播海浪的海面的方法
US10628537B2 (en) 2016-04-12 2020-04-21 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
CN112308968A (zh) * 2020-11-27 2021-02-02 国家海洋环境预报中心 一种海浪数值预报信息的三维可视化表达方法
CN114357721A (zh) * 2021-12-09 2022-04-15 武汉华中天纬测控有限公司 水下对空成像全链路仿真方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
夏炎 等: "基于分形的三维海浪运动模拟算法", 《沈阳工程学院学报(自然科学版)》 *
夏炎: "基于分行的三维海浪、云和火焰建模算法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105136108A (zh) * 2015-07-28 2015-12-09 哈尔滨工程大学 一种基于立体视觉高精度波浪浪高测量方法
EP3182376A1 (en) * 2015-12-15 2017-06-21 Dassault Systemes Simulia Corp. Virtual reality authoring method
US10102316B2 (en) 2015-12-15 2018-10-16 Dassault Systemes Simulia Corp. Virtual reality authoring method
US10628537B2 (en) 2016-04-12 2020-04-21 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
US10769325B2 (en) 2016-04-12 2020-09-08 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
CN109520700A (zh) * 2018-08-31 2019-03-26 中国船舶工业集团公司第七0八研究所 一种极端波浪的生成方法
CN109520700B (zh) * 2018-08-31 2020-11-06 中国船舶工业集团公司第七0八研究所 一种极端波浪的生成方法
CN109712243A (zh) * 2018-11-22 2019-05-03 华中科技大学 一种基于蒙特卡罗法的生成单向传播海浪的海面的方法
CN109712243B (zh) * 2018-11-22 2020-09-18 华中科技大学 一种基于蒙特卡罗法的生成单向传播海浪的海面的方法
CN112308968A (zh) * 2020-11-27 2021-02-02 国家海洋环境预报中心 一种海浪数值预报信息的三维可视化表达方法
CN112308968B (zh) * 2020-11-27 2023-02-28 国家海洋环境预报中心 一种海浪数值预报信息的三维可视化表达方法
CN114357721A (zh) * 2021-12-09 2022-04-15 武汉华中天纬测控有限公司 水下对空成像全链路仿真方法
CN114357721B (zh) * 2021-12-09 2024-04-12 武汉华中天纬测控有限公司 水下对空成像全链路仿真方法

Similar Documents

Publication Publication Date Title
CN104299259A (zh) 一种动态插值方法和海面场景生成方法
US20210232733A1 (en) Systems and methods for computer simulation of detailed waves for large-scale water simulation
US8970592B1 (en) Simulating an arbitrary number of particles
CN102855400B (zh) 一种基于投影网格的海洋表面建模及实时光照方法
CN101930622B (zh) 浅水水波的真实感建模与绘制
CN101587594B (zh) 航海模拟器场景中的海浪构网方法
CN102592297B (zh) 一种基于3d网格的实时水波纹理处理方法
CN102831275B (zh) 一种3d流体的仿真方法及系统
KR20080090671A (ko) 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치
CN101421678A (zh) 实时绘制并生成计算机生成视频全息图的方法
CN109003322B (zh) 一种动力定位船舶海上作业的三维海浪仿真优化方法
US8232999B2 (en) Fast oceans at near infinite resolution
CN106342298B (zh) 一种多点爆炸效果的实时生成方法
Kim et al. Parallel cloth simulation with effective collision detection for interactive AR application
KR101022491B1 (ko) 유체 유동 렌더링 시스템 및 방법
Aquilio et al. Real-time GPU-based simulation of dynamic terrain
Wang et al. Ocean wave real-time simulation based on adaptive fusion
CN112802165A (zh) 游戏场景积雪渲染方法、装置及介质
DE PARGA et al. Parallel Algorithms for Real-Time GPGPU Volumetric Cloud Dynamics and Morphing.
Fan Realistic Rendering of Three-Dimensional Ocean Waves Based on Fractal
Tian Ocean wave simulation by the mix of FFT and Perlin Noise
Wang et al. Real-time Multiresolution Rendering for Dynamic Terrain.
Zaporozhko et al. Simulation of Multimedia Data Parallelization Process when Processing on CPU and GPU in Online Learning Cloud Platforms
Lynett et al. Interactive And Immersive Coastal Hydrodynamic Simulation
JP2022163605A (ja) 計算機合成ホログラム生成装置、方法及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150121