freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片
正文內(nèi)容
首頁
>
資源列表
>
更多資源
天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計(doc畢業(yè)設(shè)計論文)(編輯修改稿)
2024-07-19 21:07
本頁面
【文章內(nèi)容簡介】 irect3D 和系統(tǒng)其他組件的關(guān)系應(yīng)用程序(Win32 Application)通過調(diào)用 Direct3D 提供的 API 函數(shù)(Direct3D API)實現(xiàn) 3D 圖形功能。Direct3D API 調(diào)用硬件設(shè)備(HAL Device)提供接口。硬件抽象設(shè)備調(diào)用具體的硬件驅(qū)動程序的接口(DDI) ,有具體的硬件驅(qū)動程序來操作具體型號的顯卡硬件,完成最終 3D 操作。通過這樣的分層結(jié)構(gòu),可以在上層使用相同的接口調(diào)用來使用任何類型的 3D 顯卡,實現(xiàn)需要的 3D 功能。Win32 Application Win32 ApplicationDirect3D API GDIHAL DeviceDevice Driver Interface(DDI)Graphics Hardware使用 Direct3D 編程時,首先創(chuàng)建 Direct3D 對象,在程序結(jié)束時,也必須釋放Direct3D 對象。在創(chuàng)建完 Direct3D 對象后,可以獲得指向 Direct3D 對象的接口指針。通過指向 Direct3D 對象的接口指針,我們可以調(diào)用 Direct3D 對象提供所有接口函數(shù)。創(chuàng)建Direct3D 對象的代碼如下所示:LPDIRECT3D9 g_pD3D = NULL 。 //定義 Direct3D 對象的指針,初始化為空if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) ) return E_FALL。//判斷返回值,如果為空,表示創(chuàng)建失敗Direct3D 設(shè)備是 Direct3D 中的渲染組件,負(fù)責(zé)把 3D 場景進(jìn)行作色、光照等效果處理,形成可以顯示的圖像。設(shè)備中包含了渲染狀態(tài)、坐標(biāo)轉(zhuǎn)換等信息。在程序中,我們可以認(rèn)為 Direct3D 設(shè)備就是繪圖的物理設(shè)備,而不需要關(guān)心使用什么具體的顯卡在進(jìn)行 3D 操作。LPDIRECT3DDEVICE9 g_pd3dDevice = NULL。//定義 D3D 設(shè)備接口指針初始化為空//定義 Present 參數(shù)結(jié)構(gòu)D3DPRESENT_PARAMETERS d3dpp。ZeroMenory(amp。d3dpp,sizeof(d3dpp))。 = TRUE。 = D3DSWAPEFFECT_COPY_VSYNC。if(FAILED(g_pD3DCreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,amp。d3dpp,amp。d3dDevice ) ) )return E_FALL。//調(diào)用函數(shù)創(chuàng)建設(shè)備,如果函數(shù)執(zhí)行失敗返回為空。經(jīng)過上面的簡單介紹,了解到 Direct3D 中三維世界的表示方法,坐標(biāo)系統(tǒng),以及如何把三維世界中的模型顯示在顯示器中的概念和原理,以及基本的創(chuàng)建 Direct3D 對象和創(chuàng)建Direct3D 設(shè)備的方法,對 Direct3D 有一個總的認(rèn)識。但是光了解這些還遠(yuǎn)遠(yuǎn)不夠,要應(yīng)用一個窗口,就必須對 Windows 窗口模式的編程原理進(jìn)行掌握。 Windows 基本編程原理和方法用 C++編寫一個 Windows 應(yīng)用程序,必須掌握 Windows 的基本編程原理。Windows程序需要一個 WinMain()函數(shù),該函數(shù)主要是建立應(yīng)用程序的主窗口。用 Windows 窗口結(jié)合 DirectX 建立幾何體模型,對一個基本的 Windows 窗口,其構(gòu)成有以下幾部分,注冊一個窗口類,然后創(chuàng)建窗口,在創(chuàng)建窗口的過程中可以對窗口的屬性進(jìn)行修改,包括窗口的名稱、大小、位置等。接著初始化 3D 設(shè)備(首先根據(jù) DirectX 的版本號創(chuàng)建 3D 對象,接著定義 Present 參數(shù)結(jié)構(gòu),設(shè)置 Present 的各項屬性,跟著創(chuàng)建 D3D 設(shè)備,在此可以調(diào)用 SetRenderState 函數(shù)設(shè)置渲染狀態(tài));若初始化初始化 3D 設(shè)備成功的話,接著就可以創(chuàng)建任意幾何體模型了(用 CreateVertexBuffer 創(chuàng)建頂點(diǎn)緩存區(qū),接著可以定義一個指針,用于復(fù)制頂點(diǎn)數(shù)據(jù)時指向頂點(diǎn)緩沖區(qū)的內(nèi)存地址) 。初始化后,可以顯示窗口了,并且可以進(jìn)行消息的相互傳遞,可以對鍵盤,鼠標(biāo)等外部設(shè)備動作進(jìn)行響應(yīng),執(zhí)行對應(yīng)的事件。接著可以對幾何體模型進(jìn)行著色,著色之前可以對其進(jìn)行紋理,燈光,視角等屬性進(jìn)行詳細(xì)編輯,使立體錐面幾何體模型更加生動,逼真。完成著色之后,接著釋放設(shè)備,最后應(yīng)該注銷窗口。Windows 程序是通過操作系統(tǒng)發(fā)送的消息來處理用戶輸入的,程序的主窗口中需要包含處理 Windows 所發(fā)送的消息代碼:下圖是 Windows 程序和 Windows 消息的基本流程 [4]:圖 Windows 程序和消息處理流程圖Windows 是消息驅(qū)動(或事件驅(qū)動的)操作系統(tǒng)。消息驅(qū)動意味著操作系統(tǒng)的每一部分和其他部分以及應(yīng)用程序之間,是通過 Windows 消息進(jìn)行通信。Windows 程序在開始部分也需要進(jìn)行初始化,但初始化完成后就開始等待用戶的各種輸入。一旦用戶有任何輸入(例如鍵盤或鼠標(biāo)輸入) ,操作系統(tǒng)便會感知,然后向相應(yīng)的應(yīng)用程序發(fā)送消息,程序要能夠隨時接受并處理這些消息。函數(shù)入口:注冊一個窗口類Main()函數(shù)開始開始執(zhí)行終止執(zhí)行初始化從消息隊列取得一個消息默認(rèn)處理處理消息當(dāng)前消息是否“退出”消息 是否本程序要處理的消息 main函數(shù)的流程圖,在DirectX中,任何函數(shù)都是從main()函數(shù)開始執(zhí)行程序,作為程序的入口,在main()幾乎包括整個程序的流程。在DirectX中,進(jìn)入main()函數(shù)后,首先需要注冊一個窗口類,在窗口類中,包括窗口的類名,窗口模式,消息處理等屬性;注冊完一個窗口類后,接著就可以創(chuàng)建應(yīng)用窗口了;跟著初始化3D對象和設(shè)備,如果成功,就可以顯示窗口,更新窗口,進(jìn)入消息處理函數(shù),然后進(jìn)行窗口內(nèi)存釋放;如果不成功,直接進(jìn)入到內(nèi)存釋放。最終整個函數(shù)返回0值。以上就是整個DirectX的main()工作過程,在本文中,需要建立模型,在初始化3D設(shè)備和對象成功之后,就可以初始化模型,然后進(jìn)行渲染等3D效果處理。消息處理函數(shù)是一個很重要的函數(shù),通過參數(shù)的傳遞,該函數(shù)可以響應(yīng) Windows 應(yīng)用下的任何事件。在 MsgPro()函數(shù)下,對 msg 消息進(jìn)行消息類型的判斷,當(dāng)窗口銷毀時,就創(chuàng)建應(yīng)用窗口初始化 3D 設(shè)備及對象是否成功顯示窗口,更新窗口進(jìn)入消息處理函數(shù)窗口內(nèi)存釋放返回值 0觸發(fā) WM_DESTROY 事件,進(jìn)而調(diào)用 Cleanup()函數(shù)和 PostQuitMessage( 0 )函數(shù)。將創(chuàng)建3D 的內(nèi)存空間,設(shè)備對象及模型的存儲空間進(jìn)行釋放,節(jié)約內(nèi)存資源。而當(dāng)響應(yīng)WM_PAINT 消息時,就調(diào)用 Render()和 ValidateRect 函數(shù)。對窗口區(qū)域的模型色彩進(jìn)行渲染,讓立體模型更加生動形象。最后 MsgPro()函數(shù)將要執(zhí)行的事件反饋給主函數(shù),實現(xiàn)消息響應(yīng)功能,以上就是消息處理函數(shù)的整個過程,當(dāng)然消息處理函數(shù)的響應(yīng)事件是很多的,包括一個鍵盤的任意鍵被按下事件,鼠標(biāo)的移動事件等等。開發(fā)人員可以根據(jù)自己的需要來進(jìn)行適當(dāng)?shù)南⑹录x擇。圖 介紹了 main()函數(shù)的整個程序的執(zhí)行過程,在上面則介紹了 Windows 如何響應(yīng)消息,對一個 Windows 程序的運(yùn)行過程也有一個總體的認(rèn)識和了解,應(yīng)用上述簡單的框架,開發(fā)者可以在初始化設(shè)備及模型之后初始化自己所能想到的任意幾何體模型,然后進(jìn)行DirectX 下的燈光,材質(zhì),紋理,視角轉(zhuǎn)換,霧化,雨化,雪化等特殊效果處理手段,進(jìn)行渲染,建立切切實實的立體圖形。呈現(xiàn)生動,形象的圖形,開發(fā)者可以發(fā)揮自己的想象能力,建立自己的應(yīng)用模型,運(yùn)行 DirectX 先進(jìn)技術(shù),結(jié)合構(gòu)成思路,將一個幾何體模型分解成若干三角形構(gòu)成,而三角形又是由點(diǎn)構(gòu)成的,通過點(diǎn)的連接順序不同,繪制不同的幾何體模型,運(yùn)用到實際中 模型的構(gòu)成思路和設(shè)計原理 雷達(dá)基數(shù)據(jù)產(chǎn)品剖析本文研究的是對天氣雷達(dá)產(chǎn)品的反射率信息進(jìn)行立體錐面顯示,關(guān)鍵在于如何建立的模型才是最佳的模型,為了能夠建立最優(yōu)模型,必須對雷達(dá)的反射率產(chǎn)品的構(gòu)成結(jié)構(gòu)進(jìn)行深入的剖析。 圖 錐面模型分析從上圖我們可以看到,一個錐面模型的構(gòu)成需要知道方位角,仰角,斜距,而這些數(shù)據(jù)都可以從雷達(dá)的體掃數(shù)據(jù)得出,在雷達(dá)數(shù)據(jù)中,雷達(dá)所能探測的最遠(yuǎn)距離是 512Km,而方位角(theta)斜距(m_c)仰角(fi)每公里則有八個點(diǎn),即每個點(diǎn)所代表的距離是 125m;在方位角上,theta 的變化范圍為0-360 度,在方位角上,總共有 600 個徑向;而在仰角上,對一般的雷達(dá)來說,變化范圍小于 90 度,在低仰角掃描的時候,由于受到地物雜波的干擾,為了能夠很好地消除地物雜波,在低仰角往往掃描兩次,而隨著仰角的增大,其仰角的抬升間隔頁逐漸增大,因為在高仰角掃描的時候,天氣現(xiàn)象已經(jīng)離雷達(dá)觀測地很近,沒有多大的實際預(yù)報價值。由上可知,一幀平掃掃描數(shù)據(jù)為 600512M 個(M 為所觀測的參數(shù)個數(shù)) ,這樣一個完整的體掃數(shù)據(jù)文件有數(shù)據(jù) 600512MN(N 為仰角層數(shù),M 為所測參數(shù)個數(shù)) ,它記錄了不同仰角層、不同參數(shù)的各個方位回波強(qiáng)度。利用 DirectX 技術(shù),方位角、仰角、作用距離(即斜距)確定了三維立體空間坐標(biāo),將回波數(shù)據(jù)強(qiáng)度轉(zhuǎn)變?yōu)槲矬w模型中的顏色,這樣觀測員便可以根據(jù)三維立體錐面模型中的顏色變化直觀地了解氣象的變化與空間結(jié)構(gòu)的分布情況,充分反映立體、動態(tài)、連續(xù)、多層的情況。本文通過以下過程來實現(xiàn)。 程序概要設(shè)計流程所有函數(shù)都是從 main()函數(shù)開始執(zhí)行的,然后進(jìn)行注冊一個窗口,創(chuàng)建窗口,對于本文的 DirectX 來說,必須初始化 DirectX3D 設(shè)備及對象成功后才能夠初始化幾何體模型,只有初始化幾何體模型成功后才對窗口進(jìn)行顯示,更新,和消息處理,通過消息處理事件,轉(zhuǎn)譯消息,分散消息,最后進(jìn)行幾何體模型的渲染;構(gòu)成一個生動的幾何體模型,這就是本文構(gòu)建模型的思路,然后運(yùn)用 DirectX 工具下的貼圖效果處理手段,對立體錐面模型進(jìn)行渲染效果處理。下面是設(shè)計的主流程圖 : 開始注冊窗口類,創(chuàng)建窗口初始化 3D 設(shè)備及對象是否成功初始化幾何體模型是否成功 顯示窗口,更新窗口,進(jìn)入消息循環(huán)處理圖 整個程序設(shè)計流程圖圖 是對整個程序設(shè)計流程的概述,對于其中初始化 3D 設(shè)備及對象的概述和流程在前面以前提及過,對 3D 立體錐面模型的構(gòu)建,如果幾何模型中使用了紋理貼圖,首先應(yīng)該打開紋理圖片,本文主要是通過紋理貼圖手段來達(dá)到立體效果。成功后按照對應(yīng)的結(jié)構(gòu)體創(chuàng)建頂點(diǎn)緩存區(qū),緩存區(qū)創(chuàng)好后,就需要按設(shè)計要求往頂點(diǎn)緩存區(qū)存放點(diǎn)數(shù)據(jù)。模型的構(gòu)成就是這樣,建模的簡要流程圖如圖 :無WM_QUIT消息事件PeekMessage函數(shù)是否為 1轉(zhuǎn)譯消息,分播消息渲染幾何體模型釋放窗口內(nèi)存空間返回值 0,程序結(jié)束創(chuàng)建模型開始文理圖片打開是否成功創(chuàng)建頂點(diǎn)緩存區(qū)是否成功按設(shè)計要求存放點(diǎn)數(shù)據(jù)返回打開失敗返回創(chuàng)建失敗圖 創(chuàng)建幾何體模型的簡要流程圖圖 主要介紹的是模型的建立的簡要流程圖,當(dāng)一個模型建立好后,渲染效果決定模型的成功與否,模型的渲染是 DirectX 中非常重要的部分。渲染效果決定了模型的構(gòu)成方式,在模型渲染之前還可以進(jìn)行多種立體效果處理,燈光,紋理,材質(zhì),坐標(biāo)轉(zhuǎn)換,霧化,雨化,雪化等效果處理,給人更加逼真的效果。這些效果處理將在后面的章節(jié)中做專門深入的講解。由此可見,本文的關(guān)鍵在于模型的建立和貼圖的效果處理,模型構(gòu)成原理已在前面介紹,模型的構(gòu)成方式是多種的,幾種模型根據(jù)數(shù)據(jù)的實際數(shù)據(jù)構(gòu)成,經(jīng)過比較篩選,確定一種合適的模型構(gòu)建思路,下面是兩種建立模型思路的比較。 兩種模型的對比根據(jù)上面的模型產(chǎn)品剖析,對雷達(dá)反射率的顯示應(yīng)用了解。對模型的建立構(gòu)成,采取的手段也是多種方式,不管建立什么樣的模型,最基本的也是最重要的就是如何建立好點(diǎn),只有把點(diǎn)建立好后,才能構(gòu)成線,進(jìn)而構(gòu)成面,最后構(gòu)成體,這個總體的基本思路是不會改變的。因此立體錐面模型點(diǎn)的構(gòu)成方式就成了本文的重點(diǎn)。不管采取什么樣的手段建立模型,都必須首先把點(diǎn)建立好,下面介紹幾種建立模型的方法:圖 立體錐面投影確定點(diǎn)坐標(biāo)確定好各個點(diǎn)的坐標(biāo)后,最主要的就是點(diǎn)的連接方式,在 Direct3D 中,點(diǎn)的坐標(biāo)連接方式總共有點(diǎn)列表(POINTLIST),線列表(LINELIST),線條紋(LINESTRIPS),三角形列表(TRANGLELISTS),三角形條紋(TRIANGLESTRIPS),三角形扇(TRIANGLEFANS)方位角( theta)氣象目標(biāo)高度仰角(fi )結(jié)束,返回六種連接方式,根據(jù)我們需要,我們在這里選擇了三角形條紋進(jìn)行了點(diǎn)的連接,連接時應(yīng)該注意的是點(diǎn)的存放順序也對最后的圖形效果有影響,為了便于后面的貼圖處理,我們必須把我們所建立的幾何體模型構(gòu)成一個封閉的曲面,第一種方法,利用錐面在平面上的投影來確定錐面的位置,雷達(dá)能探測的最遠(yuǎn)距離為m_c,則雷達(dá)所能探測的高度(Z 坐標(biāo))為:m_z = m_c * sin(fi) (21)其中仰角 fi 在一定范圍變化,由雷達(dá)的體掃數(shù)據(jù)給出。雷達(dá)目標(biāo)物在水平面的坐標(biāo)(X,Y)坐標(biāo)方程為:m_x = m_c *
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
畢業(yè)設(shè)計-超聲波倒車?yán)走_(dá)論文-資料下載頁
【總結(jié)】威海職業(yè)學(xué)院畢業(yè)設(shè)計任務(wù)書 專業(yè)電子工藝與管理年級XXX 班級一班姓名