发明名称 基于OpenGL的飞行模拟视景系统中地坑模拟方法
摘要 本发明涉及一种飞行模拟视景系统中特殊的地形模拟方法,尤其涉及一种基于OpenGL的飞行模拟视景系统中地坑模拟方法。其特征在于:在坑口所在平面上按照行和列分别等间隔取点,建立地坑的形状的数学模型:<img file="dda00001844235400011.GIF" wi="412" he="64" />计算地坑表面内的高程值,对高程值采用OpenGL建模,再运行OpenGL程序得到飞行模拟视景系统中的模拟地坑。本发明提出的一种基于OpenGL的飞行模拟视景系统中地坑模拟方法,根据仿真目的,构造地形模型,再现飞行视景,能够达到非常逼真的仿真效果,客观、实时地再现仿真过程,可以为模拟飞行提供真实的效果。
申请公布号 CN102789652A 申请公布日期 2012.11.21
申请号 CN201210226106.4 申请日期 2012.07.03
申请人 西北工业大学 发明人 高颖;郭淑霞;姬维君;李瑛;刘宁;陈卫军;刘琦;李南京;宋阳;张金汇
分类号 G06T17/05(2011.01)I 主分类号 G06T17/05(2011.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 1.一种基于OpenGL的飞行模拟视景系统中地坑模拟方法,其特征在于步骤如下:步骤1:定义地坑坑口平面的圆心为中心点,中心点坐标为(m,n);然后在坑口所在平面上<maths num="0001"><![CDATA[<math><mrow><mi>m</mi><mo>-</mo><msqrt><mi>c</mi><mo>/</mo><mi>a</mi></msqrt><mo>&lt;</mo><mi>i</mi><mo>&lt;</mo><mi>m</mi><mo>+</mo><msqrt><mi>c</mi><mo>/</mo><mi>a</mi></msqrt><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>n</mi><mo>-</mo><msqrt><mi>c</mi><mo>/</mo><mi>a</mi></msqrt><mo>&lt;</mo><mi>j</mi><mo>&lt;</mo><mi>n</mi><mo>+</mo><msqrt><mi>c</mi><mo>/</mo><mi>a</mi></msqrt></mrow></math>]]></maths>的坐标区间内,按照行和列分别等间隔取点,所取点的坐标为(i<sub>1</sub>,j<sub>1</sub>)、(i<sub>1</sub>,j<sub>2</sub>)、……(i<sub>1</sub>,j<sub>l</sub>)、(i<sub>2</sub>,j<sub>l</sub>)……(i<sub>2</sub>,j<sub>l</sub>)……(i<sub>l</sub>,j<sub>l</sub>),l为任意整数;其中,a是自定义可变量,且a&gt;0;c为地坑的深度;<img file="FDA00001844235100013.GIF" wi="191" he="56" />为坑口半径;步骤2:建立地坑的形状的数学模型:<img file="FDA00001844235100014.GIF" wi="413" he="64" />z为地坑表面内的高程值,且地平面的高程值z=0;其中:<img file="FDA00001844235100015.GIF" wi="70" he="46" />为所取点到中心点的距离,具体序列值为:<maths num="0003"><![CDATA[<math><mrow><msub><mi>x</mi><mn>1,1</mn></msub><mo>=</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mn>1</mn></msub><mo>)</mo></mrow></msqrt></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mi>x</mi><mn>1,2</mn></msub><mo>=</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mn>1</mn></msub><mo>)</mo></mrow></msqrt></mrow></math>]]></maths>……<maths num="0005"><![CDATA[<math><mrow><msub><mi>x</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>=</mo><msqrt><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><msub><mi>j</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>m</mi><mo>-</mo><msub><mi>i</mi><mi>l</mi></msub><mo>)</mo></mrow></msqrt><mo>;</mo></mrow></math>]]></maths>步骤3:计算地坑表面内的高程值,当x≥r时定义高程值为0;当x&lt;r时,根据公式<img file="FDA00001844235100019.GIF" wi="387" he="64" />计算坑口区域表面内每一点对应的高程值,得到坑口所在平面上每一点的高程值为z<sub>1,1</sub>、z<sub>1,2</sub>……z<sub>l,l</sub>;步骤4:将步骤3得到的高程值,采用OpenGL建模,再运行OpenGL程序得到飞行模拟视景系统中的模拟地坑。
地址 710072 陕西省西安市友谊西路127号