欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于三維運(yùn)動(dòng)視景的仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方法_2

文檔序號(hào):9597992閱讀:來(lái)源:國(guó)知局
[0043] 圖4是使用3DS Max軟件繪制完成的船舶模型。
[0044] 圖5是載入單個(gè)模型及外部狀態(tài)數(shù)據(jù)后的視景仿真畫(huà)面(固定視點(diǎn)狀態(tài)下視角度 數(shù)為30°,包含數(shù)據(jù)顯示)。
[0045] 圖6是載入多個(gè)模型及外部狀態(tài)數(shù)據(jù)后的視景仿真畫(huà)面(固定視點(diǎn)狀態(tài)下視角度 數(shù)為90°,包含數(shù)據(jù)顯示,但不能顯示模型名稱(chēng)及類(lèi)型)。
【具體實(shí)施方式】
[0046] 1)在Windows 7操作系統(tǒng)下,利用Visual Studio 2010建立一個(gè)基于MFC單文檔 的OpenGL仿真系統(tǒng)框架,以下步驟為使用Visual Studio 2010建立仿真系統(tǒng)框架的操作 步驟:
[0047] 1、利用"MFC應(yīng)用程序"選擇"應(yīng)用程序類(lèi)型:?jiǎn)蝹€(gè)文檔"創(chuàng)建基于MFC單文檔的工 程;
[0048] 2、在已創(chuàng)建好的工程中添加 OpenGL庫(kù)文件和頭文件,完成初始化設(shè)置;
[0049] 3、調(diào)用OpenGL相關(guān)命令進(jìn)彳丁圖形繪制;
[0050] 4、退出OpenGL繪圖窗口,同時(shí)釋放OpenGL繪制描述表和Windows設(shè)備描述表。
[0051] 2)通過(guò)讀取外部的圖像文件,采用OpenGL的紋理貼圖方法繪制地物模塊(樹(shù)、 山等)、天空模塊、海洋模塊和光照模塊,構(gòu)建環(huán)境系統(tǒng)。其中,在海洋模塊中,為接近 真實(shí)效果的海水起伏以及海面明暗變化,運(yùn)用基于快速傅里葉變換生成動(dòng)態(tài)的海面高 度場(chǎng)(海面的高度被看成一個(gè)由位置X = (x,z)和時(shí)間t組成的隨機(jī)變量h(X,t),且
其中與海浪譜息息相關(guān),本仿真方法采用的是Phillips 譜),并將海水高度場(chǎng)存入到頂點(diǎn)紋理中,同時(shí)采用多塊網(wǎng)格無(wú)縫拼接形成無(wú)限海面,然后 通過(guò)取頂點(diǎn)紋理的值對(duì)網(wǎng)格進(jìn)行擾動(dòng),實(shí)現(xiàn)動(dòng)態(tài)的海面效果。
[0052] 3)建立坐標(biāo)系統(tǒng),本仿真系統(tǒng)采用的坐標(biāo)系統(tǒng)可參考說(shuō)明書(shū)附圖圖3。
[0053] 4)再建立目標(biāo)系統(tǒng),以下步驟為建立目標(biāo)系統(tǒng)的具體步驟:
[0054] 1、采用計(jì)算機(jī)輔助設(shè)計(jì)軟件如3DS Max的系列設(shè)計(jì)軟件船舶和飛行器目標(biāo)的三維 模型,目標(biāo)的詳細(xì)資料可以通過(guò)雜志、網(wǎng)絡(luò)資源以及現(xiàn)場(chǎng)實(shí)拍照片獲取,按比例繪制出真實(shí) 模型并加以紋理貼圖和光照效果的渲染;
[0055] 2、生成3DS文件,利用3DS Max軟件將繪制的三維模型導(dǎo)出為3DS文件
[0056] 3、編寫(xiě)讀取3DS文件的VC++程序,即頭文件"Read3DS. h"和源文件"Read3DS. cpp" ;
[0057] 4、載入工程,在構(gòu)建好的程序框架中,包含頭文件"Read3DS.h",調(diào)用函數(shù)讀取目 錄下的3DS文件,完成三維模型的載入,并可在工程中對(duì)載入模型進(jìn)行對(duì)象管理。
[0058] 5、讀取外部的驅(qū)動(dòng)數(shù)據(jù)實(shí)現(xiàn)船舶和飛行器目標(biāo)的實(shí)時(shí)狀態(tài)更新,驅(qū)動(dòng)數(shù)據(jù)包括船 舶和飛行器目標(biāo)的名稱(chēng)、類(lèi)型、持續(xù)時(shí)間、經(jīng)度、高度、煒度、俯仰角、偏航角、翻滾角和速度 等數(shù)據(jù)。其中經(jīng)度、高度及煒度坐標(biāo)需以O(shè)penGL坐標(biāo)系為基準(zhǔn),對(duì)經(jīng)度、高度及煒度坐標(biāo)數(shù) 據(jù)進(jìn)行相應(yīng)轉(zhuǎn)換。
[0059] 6、目標(biāo)的實(shí)時(shí)狀態(tài)控制由OpenGL中的模型轉(zhuǎn)換函數(shù)glTranslatef ()和 glRotatefO完成,以O(shè)penGL坐標(biāo)系為基準(zhǔn),目標(biāo)的位置變換,即沿OpenGL坐標(biāo)系的X,Y,Z 三個(gè)坐標(biāo)軸進(jìn)行平移;以O(shè)penGL坐標(biāo)系為基準(zhǔn),目標(biāo)的姿態(tài)變換,即沿OpenGL坐標(biāo)系的 X,Y,Z三個(gè)坐標(biāo)軸進(jìn)行旋轉(zhuǎn),目標(biāo)的俯仰變換為繞X軸旋轉(zhuǎn),目標(biāo)的偏航變換為繞Y軸旋轉(zhuǎn), 目標(biāo)的翻滾變換為繞Z軸旋轉(zhuǎn)。在繪制目標(biāo)前調(diào)用相應(yīng)的轉(zhuǎn)換函數(shù),通過(guò)不斷地改變?nèi)齻€(gè) 坐標(biāo)值和各角度值,實(shí)現(xiàn)目標(biāo)的實(shí)時(shí)狀態(tài)更新。
[0060] 5)本仿真系統(tǒng)默認(rèn)視點(diǎn)是固定視點(diǎn),視角度數(shù)是30°,可通過(guò)鍵盤(pán)交互,改變視 點(diǎn)模式和視角度數(shù),主要是調(diào)用OpenGL中的透視投影函數(shù)gluPerspectiveO,來(lái)實(shí)現(xiàn)不同 的觀測(cè)效果。
[0061] 6)采用OpenGL雙緩存技術(shù),利用glutSwapBuffersO函數(shù)來(lái)交換雙緩存,如此循 環(huán)反復(fù),實(shí)現(xiàn)平滑的動(dòng)畫(huà)。系統(tǒng)利用響應(yīng)定時(shí)中斷來(lái)為船舶和飛行器目標(biāo)更新?tīng)顟B(tài)數(shù)據(jù),使 船舶和飛行器目標(biāo)每隔一定的時(shí)間(用戶(hù)可設(shè)定)讀取一次狀態(tài)數(shù)據(jù),隨著狀態(tài)數(shù)據(jù)的不 斷更新,目標(biāo)的實(shí)時(shí)狀態(tài)也在不斷地發(fā)生變化,最終實(shí)現(xiàn)目標(biāo)的模擬運(yùn)動(dòng),并通過(guò)數(shù)據(jù)顯示 系統(tǒng)可以顯示必要的目標(biāo)信息。
【主權(quán)項(xiàng)】
1. 一種基于三維運(yùn)動(dòng)視景的仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方法,其特征在于,包括以下步驟: 第一步,建立OpenGL仿真系統(tǒng)框架 在操作系統(tǒng)下,建立一個(gè)基于MFC單文檔的OpenGL圖形程序框架,具體步驟為: I. 1利用"MFC應(yīng)用程序"選擇"應(yīng)用程序類(lèi)型:?jiǎn)蝹€(gè)文檔"創(chuàng)建基于MFC單文檔的工 程; 1. 2在已創(chuàng)建好的工程中添加 OpenGL庫(kù)文件和頭文件,完成初始化設(shè)置; 1. 3調(diào)用OpenGL相關(guān)命令進(jìn)彳丁圖形繪制; 1. 4退出OpenGL繪圖窗口,同時(shí)釋放OpenGL繪制描述表和Windows設(shè)備描述表; 第二步,建立環(huán)境系統(tǒng)模型 采用OpenGL紋理貼圖方法繪制環(huán)境系統(tǒng)各模塊;在海洋模塊中,運(yùn)用快速傅里葉變換 生成動(dòng)態(tài)的海面高度場(chǎng),海面高度是由位置X = (X,z)和時(shí)間t組成的隨機(jī)變量h(X,t), h(X,t)滿(mǎn)足與Phillips海浪譜相關(guān);將海面高度 場(chǎng)存入頂點(diǎn)紋理中,采用多塊網(wǎng)格無(wú)縫拼接形成無(wú)限海面;取頂點(diǎn)紋理的值對(duì)網(wǎng)格進(jìn)行擾 動(dòng),實(shí)現(xiàn)海面的動(dòng)態(tài)效果; 第三步,建立坐標(biāo)系統(tǒng) 建立一個(gè)窗口二維坐標(biāo)系和兩個(gè)三維坐標(biāo)系,兩個(gè)三維坐標(biāo)系為OpenGL坐標(biāo)系和目 標(biāo)坐標(biāo)系; 第四步,建立目標(biāo)系統(tǒng) 4. 1建立船舶和飛行器目標(biāo)的三維模型:根據(jù)船舶和飛行器目標(biāo)模型的幾何結(jié)構(gòu)信 息,利用3DS Max建模工具按比例繪制真實(shí)模型,加上紋理貼圖和光照渲染; 4. 2載入船舶和飛行器目標(biāo)的三維模型:采用文件讀入的方式將繪制的三維模型載入 程序框架,具體步驟為: 4. 2. 1利用3DS Max軟件將繪制的三維模型導(dǎo)出為3DS文件; 4. 2. 2編寫(xiě)讀取3DS文件的VC++程序,即頭文件" Read3DS. h "和源文件" Read3DS. cpp" ; 4. 2. 3在程序中調(diào)用函數(shù)讀取3DS文件,將三維模型載入到工程,在工程中對(duì)三維模型 進(jìn)行對(duì)象管理; 4. 3船舶和飛行器目標(biāo)模型的數(shù)據(jù)驅(qū)動(dòng),通過(guò)讀取外部驅(qū)動(dòng)數(shù)據(jù)實(shí)現(xiàn)船舶和飛行器目 標(biāo)模型的實(shí)時(shí)狀態(tài)更新;以O(shè)penGL坐標(biāo)系為基準(zhǔn),對(duì)經(jīng)度、高度及煒度坐標(biāo)數(shù)據(jù)進(jìn)行相應(yīng) 轉(zhuǎn)換;以O(shè)penGL坐標(biāo)系為基準(zhǔn),沿OpenGL坐標(biāo)系三個(gè)坐標(biāo)軸平移實(shí)現(xiàn)目標(biāo)的位置變換;沿 OpenGL坐標(biāo)系三個(gè)坐標(biāo)軸旋轉(zhuǎn)實(shí)現(xiàn)目標(biāo)的姿態(tài)變換,即繞X軸旋轉(zhuǎn)為目標(biāo)的俯仰變換,繞 Y軸旋轉(zhuǎn)為目標(biāo)的偏航變換,繞Z軸旋轉(zhuǎn)為目標(biāo)的翻滾變換; 第五步:建立視角轉(zhuǎn)換系統(tǒng) 設(shè)置跟蹤視點(diǎn)和固定視點(diǎn)建立視角轉(zhuǎn)換系統(tǒng),跟蹤視點(diǎn)將相機(jī)位置設(shè)置于目標(biāo)附近, 調(diào)用SetCamera ()設(shè)置相機(jī)與目標(biāo)距離的遠(yuǎn)近參數(shù),視點(diǎn)隨目標(biāo)的運(yùn)動(dòng)而移動(dòng);固定視點(diǎn) 將相機(jī)固定在某一具體三維坐標(biāo)上,通過(guò)鍵盤(pán)交互,系統(tǒng)有不同程度的縮放效果,人為設(shè)定 視角度數(shù),縮放效果通過(guò)OpenGL中的透視投影函數(shù)gluPerspectiveO實(shí)現(xiàn); 第六步:三維運(yùn)動(dòng)視景系統(tǒng)實(shí)現(xiàn) 采用OpenGL雙緩存技術(shù),實(shí)現(xiàn)平滑的動(dòng)畫(huà),通過(guò)數(shù)據(jù)顯示系統(tǒng)顯示目標(biāo)信息;利用響 應(yīng)定時(shí)中斷為船舶和飛行器目標(biāo)模型更新?tīng)顟B(tài)數(shù)據(jù),使船舶和飛行器目標(biāo)每隔一定的時(shí)間 讀取一次狀態(tài)數(shù)據(jù),隨狀態(tài)數(shù)據(jù)的更新,目標(biāo)的實(shí)時(shí)狀態(tài)發(fā)生變化,最終實(shí)現(xiàn)目標(biāo)的模擬運(yùn) 動(dòng)。2.如權(quán)利要求1所述的一種基于三維運(yùn)動(dòng)視景的仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方法,其特征 在于,第四步4. 3中船舶和飛行器目標(biāo)模型的實(shí)時(shí)狀態(tài)更新由OpenGL中的模型轉(zhuǎn)換函數(shù) glTranslatefO和glRotatefO控制完成,在繪制目標(biāo)模型前調(diào)用相應(yīng)的轉(zhuǎn)換函數(shù),通過(guò) 不斷改變?nèi)齻€(gè)坐標(biāo)值和各角度值,實(shí)現(xiàn)目標(biāo)的實(shí)時(shí)狀態(tài)更新。
【專(zhuān)利摘要】本發(fā)明屬于民用船舶導(dǎo)航技術(shù)領(lǐng)域,為了實(shí)現(xiàn)基于三維運(yùn)動(dòng)視景的仿真系統(tǒng)設(shè)計(jì),首先建立一個(gè)基于MFC單文檔的OpenGL仿真系統(tǒng)框架;采用OpenGL紋理貼圖方法繪制的環(huán)境系統(tǒng);同時(shí)建立坐標(biāo)系統(tǒng);再將利用計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)生成的船舶和飛行器目標(biāo)的三維模型載入程序框架中;通過(guò)實(shí)時(shí)通訊,讀取外部驅(qū)動(dòng)數(shù)據(jù),實(shí)現(xiàn)目標(biāo)狀態(tài)更新;建立視角轉(zhuǎn)換系統(tǒng),通過(guò)鍵盤(pán)交互,實(shí)現(xiàn)不同觀測(cè)效果;最后利用OpenGL雙緩存技術(shù)實(shí)現(xiàn)平滑的動(dòng)畫(huà),通過(guò)數(shù)據(jù)顯示系統(tǒng)顯示目標(biāo)信息。本發(fā)明可形成船舶和飛行器目標(biāo)在設(shè)定水域、天空環(huán)境和既定運(yùn)動(dòng)參數(shù)下的狀態(tài)畫(huà)面,為訓(xùn)練人員創(chuàng)造一個(gè)共享的視聽(tīng)環(huán)境,使結(jié)果更加真實(shí)、可信。
【IPC分類(lèi)】G06T17/00, G06T13/20, G06F17/50
【公開(kāi)號(hào)】CN105354355
【申請(qǐng)?zhí)枴緾N201510628453
【發(fā)明人】苑東興, 謝金慶, 錢(qián)玉柱, 邱天爽, 史益新, 李小兵, 朱勇, 朱琳, 趙保華, 曲一夫, 馬征, 朱永杰, 張穎
【申請(qǐng)人】中國(guó)人民解放軍遼寧省軍區(qū)裝備部軍械修理所, 大連理工大學(xué)
【公開(kāi)日】2016年2月24日
【申請(qǐng)日】2015年9月28日
當(dāng)前第2頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万全县| 武平县| 绥芬河市| 潮安县| 襄樊市| 武乡县| 杭州市| 昆山市| 钟山县| 浦北县| 烟台市| 玛曲县| 买车| 乳山市| 合阳县| 溆浦县| 洱源县| 夹江县| 怀来县| 赤城县| 始兴县| 丰镇市| 嘉义市| 四川省| 甘孜县| 桂平市| 青浦区| 南宁市| 东港市| 九龙县| 芦山县| 万年县| 布尔津县| 望谟县| 兴海县| 班玛县| 海林市| 元江| 哈尔滨市| 潜山县| 甘德县|