freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

飛行模擬器視景仿真畢設(shè)論文-資料下載頁

2024-11-05 12:17本頁面

【導(dǎo)讀】模擬器進行飛行模擬訓(xùn)練,以有效地減少飛行訓(xùn)練的成本,提高飛行訓(xùn)練的效果。行各種飛行操作設(shè)備,順利完成各種飛行任務(wù)操作以達到培訓(xùn)目的。功能,提供多種飛行訓(xùn)練場景,有助于飛行技術(shù)的提高和飛行體驗。提供良好的飛行仿真環(huán)境。飛行條件,提供多種飛行場景方案,但同時也有控制功能較少,場景較為單一的缺點,待后續(xù)技術(shù)條件成熟時進一步的完善與提高。KeyWords:VisualSimulation;Creator;VegaPrime;Virtual

  

【正文】 t,在 Additional library path 中輸入: $(MPI_LOCATE_VEGA_PRIME_LIB)。 3) 編譯源程序,連接成可執(zhí)行文件。 基于 Vega Prime 的應(yīng)用程 序結(jié)構(gòu) Vega Prime 主程序流程包括初始化、定義、配置、幀循環(huán)、關(guān)閉五個部分。這五部分的主要作用如下: 1) 初始化 (Initialization)—— 初始化內(nèi)核、分配內(nèi)存、初始化場景和渲染庫等。 2) 定義 (Definition)—— 加載已經(jīng)配置好的 ACF 文件,系統(tǒng)在初始化時初始化了ACF 文件的剝析程序,在這里 ACF 文件能自動轉(zhuǎn)為 C++程序。 3) 配置 (Configuration)—— 配置成 ACF 中分解而來,并將不同的類關(guān)聯(lián)起來。 4) 幀循環(huán) —— 構(gòu)成整個應(yīng)用程序的刷新與循 環(huán)。 5) 關(guān)閉 —— 清除場景中的對象,內(nèi)存釋放,結(jié)束整個程序。 系統(tǒng)初始化配置 系統(tǒng)的初始化主要是在 Lynx Prime 圖形用戶界面配置工具完成的。系統(tǒng)初始化包括系統(tǒng)運行信息設(shè)置、模型初始化配置等。 系統(tǒng)運行信息設(shè)置包括設(shè)置幀速率、窗口大小、通道大小等。對于這部分信息一般都采用默認值設(shè)置。 模型的初始化配置是將第三章建立的模型導(dǎo)入到 Lynx Prime 中,并設(shè)置各個模型的初始位置。 這部分配置的是系統(tǒng)初始運行的場景,在后續(xù)研究中還會不斷的對此場景進行修改并加入新的內(nèi)容,如粒子系統(tǒng)、碰撞檢測等。 配 置好的系統(tǒng)被保存為 ACF 文件,在程序中通過函數(shù) define(conchar *configFile)將 ACF 文件加載到系統(tǒng)中,系統(tǒng)會自動將此文件翻譯成 C++的代碼。通過此方法可以明顯的減少了系統(tǒng)的編碼的工作量。這一特色是 Vega Prime 與其他視景仿真平臺的最大區(qū)別之一。我們通過用文本文檔直接打開 ACF 配置文件,可以發(fā)現(xiàn) ACF 文件實際上是一 XML 程序文件,系統(tǒng)在加載時自動將 XML 程序翻譯成 C++程序。當然開發(fā)人員可以自己開發(fā)配置文件的代碼而不需借助 ACF 的配置文件,很明顯這是一個不可取的方法。 視景場景的 生成 系統(tǒng)在 Lynx Prime 配置完成生成 ACF 文件后,就將其在三維場景中顯示出來。 但是,此時場景中的各個模型都是靜態(tài)的三維模型,用戶無法與其進行交互,更不會有身臨其境的感覺,所以在三維視景模型完成之后還要完成三維視景仿真環(huán)境的設(shè)計工作,通過視景仿真環(huán)境完成場景的各種感官效果以及用戶與場景的交互。 三維視景仿真環(huán)境包括以下的五大部分: 1 飛機飛行驅(qū)動模塊; 2 視點模塊; 3平顯模塊; 4 碰撞檢測模塊; 5 仿真氣象模塊。通過這五個部分組成的仿真環(huán)境可以給用戶一個具有較強真實感的可操作的三維虛擬場景。 飛機飛行驅(qū)動模 塊 飛機飛行的實現(xiàn)主要是控制飛機模型在虛擬場景中的六自由度運動。其主要實現(xiàn)函數(shù)是: setTranslate (double x,double y,double z,bool),賦予對象分別沿 XYZ 軸平移量,bool值決定輸入的值是替換當前對象還是累加到當前對象上。 setRotate (double h,double p,double r,bool),賦予對象分別繞 XYZ軸的旋轉(zhuǎn)量, bool值決定輸入的值是替換當前對象還是累加到當前對象上。 但要注意的是 Vega Prime 中的規(guī)定的沿軸平移量的正負和繞 軸轉(zhuǎn)動時的角 度正負是與實際中飛行數(shù)據(jù)的正負有差別的。圖 為 Vega Prime 的坐標系統(tǒng)。 圖 Vega Prime 的坐標系統(tǒng) Vega Prime 中默認的視點是沿著 Y 軸正方向的,將飛機三維模型加到虛擬場景中,機頭方向是從 Y 到 +Y。所以無人機的橫向偏移是沿 Y 軸偏移,側(cè)向偏移是沿著X 軸方向,縱向偏移是沿著 Z 軸方向。在實際數(shù)據(jù)中,飛機的位置是由經(jīng)緯度給出的,經(jīng)度是越向西越大,以起飛點為原點解算出來的側(cè)向偏移是右為正,這是與 Vega Prime 規(guī)定的坐標相反,所以需要在側(cè)向偏移上加負號 ,同樣,需要在偏航角上加入負號。 同樣的 Vega Prime 提供了各種運動模型。運動模型就是一種位置策略,使我們用標準輸入能實現(xiàn)模型的動態(tài)定位。 Vega Prime 用 vpMotion 定義抽象的運動模型。運動模型可以應(yīng)用在 observer 上,也可以應(yīng)用在 object 上。 Vega Prime 中定義了七種運動模型,分別是: vpMotionDrive, vpMotionFly, vpMotionUFO, vpMotionWalk,vpMotionWrap, vpMotionGame 和 vpMotionSpin。 VpMotionDrive 是一個 drive 模型,用戶可以控制其運動速度和轉(zhuǎn)向; vpMotionFly 是一個簡單的飛行模擬模型,這個模型的效果和空氣動力學(xué)的響應(yīng)、推動力以及飛機模型的質(zhì)量有關(guān),這三個參數(shù)是可以在 .acf 文件或者程序中設(shè)置的。飛行模型能夠模擬質(zhì)點六個自由度的變化;vpMotionUFO 是一個無重力的運動模型,它使質(zhì)點能夠高速運動,并能夠在任意位置盤旋; vpMotionWalk 模擬基本的步行運動; vpMotionGame 模擬第一人稱射擊游戲中主角的運動方式; vpMotionSpin 模擬站在一個球體表面隨球體轉(zhuǎn)動 的運動模型。每個運動模型運動方式的具體實現(xiàn)方法(前進、后退、左轉(zhuǎn)、右轉(zhuǎn))是封裝起來的,用戶看不見。用戶只能通過 API 修改速度、轉(zhuǎn)向等等的漸增值。我們可以選用其中的飛 行模式進行簡單的飛行仿真。 視點模塊 視點是亦相當于人的眼睛,是在系統(tǒng)中觀察飛機飛行的位置。飛機在飛行過程中,最值得關(guān)注的是幾個舵面的偏轉(zhuǎn)情況和俯仰角、滾轉(zhuǎn)角(其它的關(guān)注對象目前并不能在虛擬場景中表示出來,如發(fā)動機推力)。為了觀察這幾個對象,可以通過移動視點來實現(xiàn),但這樣并不能保證能同時觀察到這幾個對象,對于想同時觀察到這幾個對象來說,則需要提供 多個窗口來觀察。為此,系統(tǒng)中定義了兩種觀察方法,多通道和單通道。同樣,視點可以實時的跟隨著飛機,也可以在確定的一個位置觀察飛機的飛行,這樣系統(tǒng)也可以將視點分為定點視點和跟隨視點,下面就這些的區(qū)別和實現(xiàn)加以詳細說明。 Vega Prime 中的窗口是一顯示窗口,它定義了基本的消息處理機制,也提供了方法來配置幀緩沖區(qū)和對鍵盤、鼠標等輸入的處理,而通道則控制場景的繪制區(qū)域。一個 Vega Prime 程序中允許有多個窗口,一個窗口中允許有多個通道,但對于一般的視景仿真來說,一般只需定義一個窗 Lynx Prime 中可以設(shè)置窗口的位置和大小,也可以設(shè)置通道在窗口中的位置和大小。圖 說明了顯示器窗口、窗口和通道三者之間的關(guān)系。 圖 顯示器窗口、窗口和通道關(guān)系 定點是指在某時刻得到此刻飛機的位置后,將此點設(shè)為視點觀察位置。跟隨視點是將視點設(shè)置在飛機旁的某個位置,時時的跟隨著飛機。定點觀察可以用于飛機起飛 或著陸時在跑道的兩側(cè)觀測飛機的飛行過程,跟隨觀察則用于在飛行過程中對飛機狀態(tài)的觀測。 跟隨視點的實現(xiàn)可以在 Vega Prime 的幀循環(huán)部分實時得到飛機的位置,并將飛機的位置經(jīng)過簡單 處理后設(shè)置為視點的位置,但這樣實時的解算位置,會增加系統(tǒng)的損耗,為此可利用 Vega Prime 中的 VpTransform 類定義一局部坐標系,將視點設(shè)置為這一局部坐標系的原點,并將 VpTransform 的父節(jié)點設(shè)為飛機,這樣使飛機與這個局部坐標系關(guān)聯(lián)起來,默認局部坐標系的原點在飛機的中心處,這樣只需更改局部坐標系的原點位置就能實現(xiàn)跟隨的效果,同樣,只需調(diào)整局部坐標系的原點位置就可以改變視點的位置。 囿于時間與技術(shù)的原因,本系統(tǒng)只定義了兩個視角觀察模式: 視角。機后視角視點位于飛機的( 0, 40,8)處。 碰撞檢測模塊 虛擬視景中,由于用戶的交互和物體的運動,物體間經(jīng)常發(fā)生碰撞,為保證視景的真實感,需要及時檢測到這些碰撞,并做出相應(yīng)的反應(yīng),否則物體間會發(fā)生穿透現(xiàn)象,破壞虛擬場景的真實性和用戶的沉浸感。具體到飛機視景系統(tǒng),飛機在起飛著陸時與跑道之間是有接觸的,在飛行過程中是否與地形發(fā)生了碰撞,這些都是碰撞檢測的體現(xiàn),所以在虛擬仿真系統(tǒng)中的碰撞檢測技術(shù)對虛擬場景的真實性是至關(guān)重要的。 碰撞檢測是構(gòu)造可視化系統(tǒng)的不可缺少的一個重要部分,它的來源是基于現(xiàn)實中的一個普遍存在的事實:兩個 不可穿透的物體不可能共享相同的區(qū)域,與碰撞檢測相關(guān)的令一個問題是碰撞響應(yīng),它們倆構(gòu)成了碰撞問題的主要方面,兩者的區(qū)別在于碰撞檢測的目標是發(fā)現(xiàn)碰撞并報告,碰撞響應(yīng)是在碰撞發(fā)生后,根據(jù)碰撞點和其它參數(shù)促使發(fā)生碰撞的對象做出正確的動作,以反應(yīng)真實的動態(tài)效果。 目前實現(xiàn)碰撞檢測的算法多種多樣,但最常見的還是采用包圍盒的方法,所謂包圍盒是包圍著物體對象的盒子,它的各線段與坐標軸平行,這樣包圍盒就是能包 圍虛擬物體的最小長方體。圖 就是設(shè)置了包圍盒的虛擬物體,包圍盒最大好處是可以實現(xiàn)快速碰撞檢測,但它的檢測是非常粗略的,當兩個物體的包圍盒相交時并不能保證這兩個物體一定相交。 圖 帶有包圍盒的物體 要實現(xiàn)精確的碰撞檢測則需要精確碰撞檢測,即采用包圍盒表示虛擬物體邊界的同時,還采用多個多邊形來表示包圍盒,這樣虛擬物體邊界就能用一組多邊形表示。當判斷物體是否相交時,只需判斷兩個多邊形集合是否相交。 Prime 碰撞檢測算法 Vega Prime 作為一專業(yè)的視景仿真平臺,它封裝了碰撞檢測 算法,用戶只需根據(jù)提供的接口選擇合適的碰撞算法,根據(jù)實際的碰撞反應(yīng)為虛擬環(huán)境加入碰撞反應(yīng)就能完成碰撞問題,但用戶也可以根據(jù)實際情況來自定義碰撞檢測算法。 Vega Prime 一改采用包圍盒或多邊形的碰撞算法,部分采用了一條直線來檢測碰撞。 Vega Prime 定義了七種碰撞檢測模式: Tripod、 Bump、 Los、 HAT、 XYZPR、 ZPR 和 Z。 Tripod 碰撞采用了三條線段構(gòu)成一三角形檢測碰撞,其主要用在不平坦的地面上行走,保證行走不會沉下去或漂浮起來。 Bump 碰撞是這七種碰撞算法中最耗系統(tǒng)資源 的,它定義了六條線段來檢測碰撞, 剩下的五種碰撞檢測都是定義了一條碰撞檢測線來檢測碰撞。 Los 是定義了沿著視點方向的一條線段。 HAT、 XYZPR、 ZPR 和 Z 都是定義了條沿著 Z 軸方向的線段。它們之間略有不 同, HAT 是求距離地面的高度, XYZPR 是在 Tripod 基礎(chǔ)上還求得碰撞的,碰撞中心的 x、 y、 z、 p、 r 值, ZPR 是在 Tripod 基礎(chǔ)上還求得碰撞的碰撞中心的 x、 y、 z值。Z 是用于求地面的海拔高度。 用戶可根據(jù)自己的需要選擇合適的碰撞檢測算法。 除了上述的七種方法外, Vega Prime 還支持自定義的碰 撞檢測方法??梢栽趘pIsect 類中繼承一新類,在新類中通過 push_back_segment()函數(shù)加入所需要的檢測線條數(shù),通過 setSegment()設(shè)置檢測線的位置。系統(tǒng)屏蔽了其它的實現(xiàn),會自動將設(shè)置好的做為碰撞檢測線。 根據(jù)上面的七種碰撞算法介紹,可以為飛機的視景仿真選擇不同的碰撞檢測算法。在起飛著陸階段,檢測的是與跑道和地形的碰撞,這可以選擇 Z 碰撞算法。飛機在飛行過程中,主要是判斷在飛行軌跡上與地形的碰撞,可以 LOS 碰撞算法檢測無人機與地形的碰撞。 Vega Prime 中并沒有像游戲中那樣將碰撞響 應(yīng)也封裝進去,它只是提供了碰撞響應(yīng)的接口,具體的實現(xiàn)將要集合現(xiàn)實中的實際效果編寫。在編寫具體效果時,比如無人機的爆炸效果,爆炸時要生成煙、火焰等。這些都是借助一種叫粒子系統(tǒng)的來實現(xiàn),所以在研究無人機視景系統(tǒng)的碰撞前有必要對粒子系統(tǒng)做一個簡單介紹。 1983 年, Reeves 首次突出了粒子系統(tǒng)。所謂的粒子系統(tǒng)是使用大量的簡單的體素來構(gòu)造復(fù)雜的物體,它為火焰、水、雪、雨以及尾焰、爆炸、碰撞及毀傷提供了強有力的技術(shù)手段。每一個粒子系統(tǒng)都有一組屬性如位置、速度、顏色和生命期。一個粒子系統(tǒng)的產(chǎn)生主要包括:粒子源產(chǎn)生新粒 子、更新粒子屬性、刪除死粒子、繪制粒子。粒子系統(tǒng)的主要優(yōu)點有: 1) 簡單體素和復(fù)雜物體行為有機結(jié)合。例如,利用粒子系統(tǒng)可以很容易的生成火焰。 2) 易于實現(xiàn)。只要提供給粒子屬性的隨機過程一些參數(shù)即可定義一個粒子系統(tǒng)。 3) 粒子簡單。易于顯示 而且顯示效率較高。 主要缺點有: 1)每一時間步均需要計算粒子的動態(tài)屬性,增加了系統(tǒng)的開銷。 2)粒子的幾何特性過于簡單,可以構(gòu)造的物體范圍有限。 在三維視景系統(tǒng)中,對視覺效果的要求不僅僅停留在簡單表達飛行物體的運動狀態(tài)上,而且要求包括尾焰、爆炸、碰撞及毀傷效 果的形象表達。這些需要借助粒子系統(tǒng)的特殊效果來解決 Vega Prime 粒子系統(tǒng)模塊內(nèi)置了大量的可直接使用的特殊效果,如三維煙、旋轉(zhuǎn)的螺旋槳、光點跟蹤、火、火焰、爆炸、噴口閃光、歲片、高射炮火、導(dǎo)彈軌跡、水花等通過粒子動畫編輯器或 API 定義,創(chuàng)建特殊效果。通過定義選定的粒子系統(tǒng)的大小、方位、開始時間和持續(xù)時間,將其附著到運動體或場景里,實時控制其相關(guān)的視覺屬性。 仿真氣象模塊 飛機能在多種天氣環(huán)
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1