專利名稱:基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種飛行模擬視景系統(tǒng)中特殊的地形模擬方法,尤其涉及一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法。
背景技術(shù):
虛擬現(xiàn)實(shí)技術(shù)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域。利用虛擬 現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)場景的仿真是可視化仿真系統(tǒng)中的必要部分。它可以實(shí)時(shí)模擬場景的變化,為很多虛擬操作提供逼真的環(huán)境。虛擬場景地形繪制后,除了實(shí)時(shí)漫游,為了滿足一定仿真需要(如重物擊中地面目標(biāo)后地形凹陷),還需要對地形進(jìn)行動(dòng)態(tài)修改?,F(xiàn)有的飛行模擬視景系統(tǒng)設(shè)計(jì)中,由于傳統(tǒng)的地理信息系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)都是二維的,高程是地理空間中的第三維坐標(biāo),數(shù)字高程模型的建立是一個(gè)必要的補(bǔ)充。地形模型一般是定義好的平坦的,這有時(shí)不能真實(shí)的反應(yīng)場景情況。比如重物擊中地面后,地面發(fā)生形變顯示凹陷。
發(fā)明內(nèi)容
要解決的技術(shù)問題為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法,提出通過修改高程值的方法來模擬地坑。技術(shù)方案一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法,其特征在于步驟如下步驟I :定義地坑坑口平面的圓心為中心點(diǎn),中心點(diǎn)坐標(biāo)為(m,n);然后在坑口所在平面上ro _ -JcIa < i < //7 + yfcTa ,n-yfcTa < j'< + >/c/a的坐標(biāo)區(qū)間內(nèi),按照行和列分別
等間隔取點(diǎn),所取點(diǎn)的坐標(biāo)為 Q1, ji)、(I1, j2)、......Qi,ji)、(i2,Ji)......(i2,Ji)......(ii,
J1),I為任意整數(shù);其中,a是自定義可變量,且a>0 ;c為地坑的深度= r為坑口半徑;步驟2 :建立地坑的形狀的數(shù)學(xué)模型4 = /(/) = <,,-0,2為地坑表面內(nèi)的高程值,且地平面的高程值Z=O ;其中為所取點(diǎn)到中心點(diǎn)的距離,具體序列值為X11 =^ +X12 = ^j{n-j2)x{n-J2) +{m-Qxim-i,)… ',=加—i;)x(7 -J1) + (m-i,)x{m-i)步驟3 :計(jì)算地坑表面內(nèi)的高程值,X ^ r時(shí)定義高程值為0 ;當(dāng)x〈r時(shí),根據(jù)公式z = /(X) = ax l; -c計(jì)算坑口區(qū)域表面內(nèi)每一點(diǎn)對應(yīng)的高程值,得到坑口所在平面上每一點(diǎn)的高程值為Z1YZu2……Zlll;步驟4 :將步驟3得到的高程值,采用OpenGL建模,再運(yùn)行OpenGL程序得到飛行模擬視景系統(tǒng)中的模擬地坑。
有益效果本發(fā)明提出的一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法,根據(jù)仿真目的,構(gòu)造地形模型,再現(xiàn)飛行視景,能夠達(dá)到非常逼真的仿真效果,客觀、實(shí)時(shí)地再現(xiàn)仿真過程,可以為模擬飛行提供真實(shí)的效果。
圖I :地坑示意圖。
具體實(shí)施例方式現(xiàn)結(jié)合實(shí)施例、附圖對本發(fā)明作進(jìn)一步描述 以一個(gè)具體的要仿真的地坑為例,已知地坑平面的中心點(diǎn)為(80,80),坑口半徑r=10,地坑深度c=10。I)根據(jù)要仿真地坑的形狀和參數(shù)。定義坑的數(shù)學(xué)模型為f(X) =0. Ix2-IO2)在70〈1〈90,70〈」〈90的區(qū)域內(nèi),以 Ai=I, △ j=l 等間隔取 400 個(gè)點(diǎn),點(diǎn)(71,71)至IJ中心點(diǎn)的距離X11 =W^x1JlO,所以該點(diǎn)高程值不變?nèi)詾閆u=O15點(diǎn)(81,80)到中心點(diǎn)距離xii,ici=l,xn,1(l〈10,計(jì)算出該點(diǎn)的高程值zn,1(l=-9. 9。點(diǎn)(83,84)到中心點(diǎn)的距離X13,14=5, X13,14〈10,計(jì)算出該點(diǎn)的高程值z13,14=-7. 5。同理,計(jì)算坑口平面內(nèi)每一點(diǎn)的高程值。3)用上步得到的高程值在OpenGL中對應(yīng)替換原有的高程值。軟件運(yùn)行后,地坑效果如圖I所示。利用虛擬現(xiàn)實(shí)技術(shù)和可視化技術(shù),采用OpenGL構(gòu)建了地坑模型,用于實(shí)時(shí)修改地形模型使得地形模型更加逼真并且滿足一定的仿真需要。
權(quán)利要求
1 一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法,其特征在于步驟如下 步驟I :定義地坑坑口平面的圓心為中心點(diǎn),中心點(diǎn)坐標(biāo)為(m,η);然后在坑口所在平面上m — -JcIa <i <m + ^sjc I a,n — ^lc / a < j <n + ^fcTa的坐標(biāo)區(qū)間內(nèi),按照4丁和列分別等間隔取點(diǎn),所取點(diǎn)的坐標(biāo)為 Q1, ji)、(I1, J2)、......Q1, ji)、(i2,ji)......(i2,ji)......Q1, ji),I為任意整數(shù); 其中,a是自定義可變量,且a>0 ;c為地坑的深度;^^ = r為坑口半徑; 步驟2 :建立地坑的形狀的數(shù)學(xué)模型z = f(x) = Ctxlji ~c,z為地坑表面內(nèi)的高程值,且地平面的高程值z=0 ; 其中所取點(diǎn)到中心點(diǎn)的距離,具體序列值為 氣1 =扣-JiP<(〃-Λ) + 0卜O(m—h) xU =λ/(〃-Λ)χ("-Λ) +(In-I1)X(m — Z1)......= λ/( -./;)X( -i,) + {m-i,)x(m-i,); 步驟3 :計(jì)算地坑表面內(nèi)的高程值,當(dāng)χ > r時(shí)定義高程值為O ;當(dāng)x〈r時(shí),根據(jù)公式z = /(χ) = OX^hji -c計(jì)算坑口區(qū)域表面內(nèi)每一點(diǎn)對應(yīng)的高程值,得到坑口所在平面上每一點(diǎn)的高程值為Z1,P Zlj2......Zul ; 步驟4 :將步驟3得到的高程值,采用OpenGL建模,再運(yùn)行OpenGL程序得到飛行模擬視景系統(tǒng)中的模擬地坑。
全文摘要
本發(fā)明涉及一種飛行模擬視景系統(tǒng)中特殊的地形模擬方法,尤其涉及一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法。其特征在于在坑口所在平面上按照行和列分別等間隔取點(diǎn),建立地坑的形狀的數(shù)學(xué)模型計(jì)算地坑表面內(nèi)的高程值,對高程值采用OpenGL建模,再運(yùn)行OpenGL程序得到飛行模擬視景系統(tǒng)中的模擬地坑。本發(fā)明提出的一種基于OpenGL的飛行模擬視景系統(tǒng)中地坑模擬方法,根據(jù)仿真目的,構(gòu)造地形模型,再現(xiàn)飛行視景,能夠達(dá)到非常逼真的仿真效果,客觀、實(shí)時(shí)地再現(xiàn)仿真過程,可以為模擬飛行提供真實(shí)的效果。
文檔編號G06T17/05GK102789652SQ20121022610
公開日2012年11月21日 申請日期2012年7月3日 優(yōu)先權(quán)日2012年7月3日
發(fā)明者劉寧, 劉琦, 姬維君, 宋陽, 張金匯, 李南京, 李瑛 , 郭淑霞, 陳衛(wèi)軍, 高穎 申請人:西北工業(yè)大學(xué)