发明名称 一种基于投影网格的海洋表面建模及实时光照方法
摘要 本发明提供一种基于投影网格的海洋表面建模及实时光照方法,包括:使用投影网格建立海洋表面几何模型,并通过变换摄像机位置和观测方向等参数,检测投影网格与视景体的相交部分,确立处于视景体内的所需绘制的海洋表面的范围;基于快速傅里叶变换(Fast Fourier Transform)来模拟海洋表面的波动效果,根据波浪长度的不同量级,采样不同量级波长的频率并将其转换成振幅信息,用复数空间三角函数和的形式来表示动态变化的波浪;通过将光线分解为太阳入射光、天空反射光和海洋折射光,并将光照计算的积分简化成多项式乘积或者线性函数的形式,来近似计算海洋表面的光照效果。本发明可满足环境光照下对动态海洋表面的仿真,具有高度的逼真性和良好的实时性等优点。
申请公布号 CN102855400A 申请公布日期 2013.01.02
申请号 CN201210333382.0 申请日期 2012.09.10
申请人 北京航空航天大学 发明人 李帅;王东伟;郝爱民;杨丽鹏
分类号 G06F19/00(2006.01)I 主分类号 G06F19/00(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 杨学明;李新华
主权项 一种基于投影网格的海洋表面建模及实时光照方法,其特征在于:其步骤如下:步骤(1)、在投影面上创建投影网格;步骤(2)、根据视点信息,创建观测矩阵MView和透视矩阵MPerspective;步骤(3)、检测投影的基本平面与视景体是否相交,如果不相交,说明在当前视点下不需要进行绘制,则转步骤(2),若相交则继续步骤(4);步骤(4)、将步骤(1)在投影面上创建的投影网格中的顶点pprojector变换到相交的基本平面,得到基本面上的点pworld,使用观测矩阵和透视矩阵的逆矩阵可以实现这个过程:pworld=[MView·MPerspective]‑1·pprojector    (1)步骤(5)、创建范围转换矩阵,检测视景体的边和基本平面的交点以及在视景体内部的基本平面的顶点,并将这些点进行范围转换,此时,x和y的跨度分别被定义为投影后的点的x和y的最大值(xmax,ymax)和最小值(xmin,ymin)的差;公式(2)即为创建的范围转换矩阵: <mrow> <msub> <mi>M</mi> <mi>range</mi> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>max</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>min</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>x</mi> <mi>min</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>y</mi> <mi>max</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>min</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>y</mi> <mi>min</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>步骤(6)、生成动态海洋网格,并基于GPU对模拟结果进行实时绘制。
地址 100191 北京市海淀区学院路37号