天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論文_第1頁
天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論文_第2頁
天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論文_第3頁
天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論文_第4頁
天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、分類號:分類號:tn959.4tn959.4 u u d d c c:d10621-408-(2007)d10621-408-(2007) 0344-00344-0密密 級:公級:公 開開 編編 號:號:20030221612003022161成成 都都 信信 息息 工工 程程 學(xué)學(xué) 院院學(xué)學(xué) 位位 論論 文文天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計論論文作者姓名:文作者姓名:莫云莫云凱凱申申請請學(xué)位學(xué)位專業(yè)專業(yè): :電電子信息工程子信息工程申申請請學(xué)位學(xué)位類別類別: :工學(xué)學(xué)士工學(xué)學(xué)士指指導(dǎo)導(dǎo)教教師師姓姓名名( (職職稱稱) ): :舒定波(工程舒定波(工程師師) )論論文提

2、交日期:文提交日期:2007 年年 06 月月 05 日日天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計摘摘 要要天氣雷達(dá)產(chǎn)品對天氣預(yù)報有著重要的指示作用,為了提高預(yù)報的準(zhǔn)確性和形象性,對目前的雷達(dá)終端產(chǎn)品有一定的改進(jìn),本文介紹了氣象雷達(dá)終端錐面圖形軟件的繪制原理及軟件實現(xiàn)方法,應(yīng)用 directx 工具建立考慮地球曲率的錐面模型,結(jié)合 visual s 2003 編程工具,生成對應(yīng)各個 cut 的圖像,將生成的圖像作為對應(yīng)的紋理圖片,將模型與圖像通過紋理貼圖的方法結(jié)合在一起,再經(jīng)過燈光,材質(zhì),紋理,視角轉(zhuǎn)換等進(jìn)行紋理效果處理,讓生成的產(chǎn)品更加逼真,易于使用者操作,最終構(gòu)成氣象雷達(dá)終

3、端錐面圖形的應(yīng)用軟件,并提供軟件生成產(chǎn)品的圖像實例,在軟件的終端還加入了用戶控制部分,可以對任意位置的回波信息進(jìn)行觀察,同時在終端提供了大地參考面和雷達(dá)站點的簡要信息,讓軟件的使用者一目了然。關(guān)鍵詞:關(guān)鍵詞:雷達(dá)體掃數(shù)據(jù) 實體建模 directx visual s 2003 紋理貼圖the designing of display program of weather radar productsabstractthe weather radar products has performed an very important part in the weather forecast.in o

4、rder to enhance the forecast accuracy and the iconicity, the present radar terminal products had been improved. this article introduces the weather radar terminal three dimensional graph software plan principle and the software realization method, by using the directx tool establishment considered t

5、he curvature of the earth the conical surface model, unified the visual s 2003 to program the tool. the production corresponds each cut the image, and produce the image took corresponding the texture, the model and the image unified in together, the process light, the material quality, the texture,

6、the angle of view transformation and so on carried on processing, let the production the product be more lifelike, the easy user to operate, finally constituted the weather radar terminal three dimensional graph application software, and provides the software production product the image example.key

7、 words: radar volume scan data entity modeling directx visuals 2003texture map目錄目錄論文總頁數(shù):361 引言引言.11.1 概述概述.11.2 天氣雷達(dá)背景知識介紹天氣雷達(dá)背景知識介紹.11.3 天氣雷達(dá)產(chǎn)品介紹天氣雷達(dá)產(chǎn)品介紹.21.41.4 研究意義研究意義.31.5 開發(fā)環(huán)境介紹及研究思路開發(fā)環(huán)境介紹及研究思路.32 建立模型建立模型.52.1 directx 基礎(chǔ)知識基礎(chǔ)知識 .52.2 windows基本編程原理和方法基本編程原理和方法.62.3 模型的構(gòu)成思路和設(shè)計原理模型的構(gòu)成思路和設(shè)計原理.92.3

8、.1 雷達(dá)基數(shù)據(jù)產(chǎn)品剖析雷達(dá)基數(shù)據(jù)產(chǎn)品剖析.92.3.2 程序概要設(shè)計流程程序概要設(shè)計流程.102.3.3 兩種模型的對比兩種模型的對比.122.4 地球曲率對模型的影響地球曲率對模型的影響.162.5 模型的效果處理模型的效果處理 燈光效果燈光效果.182.5.2 材質(zhì)效果材質(zhì)效果.192.5.3 3d 轉(zhuǎn)換效果轉(zhuǎn)換效果 .192.5.4 模型控制模型控制.203 反射率產(chǎn)品圖像生成反射率產(chǎn)品圖像生成.223.1 反射率數(shù)據(jù)提取反射率數(shù)據(jù)提取.223.2 反射率圖像生成反射率圖像生成.223.3 加載色表文件加載色表文件.234 模型與圖像結(jié)合(紋理貼圖)模型與圖像結(jié)合(紋

9、理貼圖).254.1 貼圖原則貼圖原則.254.2 紋理貼圖效果處理紋理貼圖效果處理.254.2.1 紋理坐標(biāo)紋理坐標(biāo).254.2.2 紋理提交模式紋理提交模式.264.2.3 紋理過濾方式紋理過濾方式.274.2.4 紋理混合紋理混合.274.2.5 紋理透明紋理透明.284.2.6 紋理動畫及多級紋理紋理動畫及多級紋理.284.3 產(chǎn)品生成產(chǎn)品生成.294.4 外界控制外界控制.315 程序設(shè)計中需要注意的幾個問題程序設(shè)計中需要注意的幾個問題.325.1 關(guān)于模型建立的問題關(guān)于模型建立的問題.325.2 關(guān)于色表讀取的問題關(guān)于色表讀取的問題.325.3 關(guān)于紋理貼圖的問題關(guān)于紋理貼圖的問題

10、.33結(jié)論結(jié)論.33參考文獻(xiàn)參考文獻(xiàn).33致謝致謝.35聲明聲明.36第 1 頁 共 30 頁天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計天氣雷達(dá)產(chǎn)品錐面顯示程序設(shè)計1 引言引言1.1 概述概述天氣對人類的生產(chǎn)生活都起著非常重要的作用,天氣預(yù)報則是人類研究天氣,掌握天氣,以便更好應(yīng)用天氣的主要手段,因此,天氣雷達(dá)在天氣預(yù)報中扮演一個非常重要的角色。新一代多普勒天氣雷達(dá)對氣象預(yù)報者及時,準(zhǔn)確的預(yù)報天氣,將氣象給人類帶來的災(zāi)害盡可能將降到最低。新一代多普勒天氣雷達(dá)的體掃數(shù)據(jù)提供了強(qiáng)度,速度,譜寬三個基本信息。經(jīng)過后端軟件處的理,可以演變成多個適用的軟件二次產(chǎn)品,給使用者帶來方便。目前,我國大多數(shù)氣象產(chǎn)品是以二維形

11、式來表示三維結(jié)構(gòu),最具有代表的是 ppi(plan indicator) 、rhi(range height indicator) 、cappi(constant altitude plan position indicator),這些方法之局限于二維表示方法。本文所采用的方法是通過 directx 工具進(jìn)行錐面實體建立模型,通過 visual studio .net 2003 工具讀取體掃數(shù)據(jù),生成對應(yīng)模型的天氣圖片,將二者結(jié)合,通過 directx 紋理貼圖方法處理,得到實際應(yīng)用的雷達(dá)立體錐面顯示軟件。1.2 天氣雷達(dá)背景知識介紹天氣雷達(dá)背景知識介紹氣象目標(biāo)的雷達(dá)方程1: (1-2-1)2

12、22223|21|2ln10242rmmgczppetr其中雷達(dá)天線所接收的回波信號功率;pr 光速;c 雷達(dá)發(fā)射機(jī)輸出的脈沖功率;pt 發(fā)射脈沖寬度; 天線增益;g 天線水平波束寬度; 天線垂直波束寬度; 雷達(dá)發(fā)射信號波長;第 2 頁 共 36 頁 氣象目標(biāo)的復(fù)折射指數(shù),對于水滴,當(dāng)溫度為時,0.93;mc0。222|21m|m 雷達(dá)反射率因子,在瑞利反射區(qū),;其中為第 i 個降ze單位體積6dziedi水粒子的直徑;r 目標(biāo)距離。對于本課題主要研究是 雷達(dá)反射率因子;將ze其進(jìn)行的立體錐面顯示,讓雷達(dá)產(chǎn)品形象,直觀地展現(xiàn)。通過上面的雷達(dá)方程,常規(guī)天氣雷達(dá)的探測原理是利用云雨目標(biāo)物對雷達(dá)所發(fā)

13、射電磁波的散射回波來發(fā)現(xiàn)氣象目標(biāo),并測定其空間位置、強(qiáng)弱分布、垂直結(jié)構(gòu)等;新一代多普勒天氣雷達(dá)除了能起到常規(guī)天氣雷達(dá)的這種作用外,它的重大改進(jìn)是可以利用物理學(xué)上的多普勒效應(yīng)來測定降水粒子的徑向運動速度,并通過這種速度信息來推斷降水云體的風(fēng)速分布、風(fēng)場結(jié)構(gòu)特征、垂直氣流速度等。具有強(qiáng)探測能力和高探測精度,新一代天氣雷達(dá)采用高低兩種脈沖重復(fù)頻率,就 c 波段來說,對臺風(fēng),暴雨等大范圍的強(qiáng)降水天氣的監(jiān)測距離為 460km,對雹云、龍卷渦度等小尺度強(qiáng)天氣系統(tǒng)的有效監(jiān)測和識別距離為 230km,超過 230km,將沒有速度數(shù)據(jù),風(fēng)暴識別、跟蹤和預(yù)報未來位置可達(dá) 345km,在 345-460km之間雖沒

14、有算法應(yīng)用,但仍有反射率因子產(chǎn)品;先進(jìn)的實時標(biāo)校系統(tǒng),新一代雷達(dá)的雷達(dá)參數(shù)在建站時都經(jīng)過仔細(xì)的標(biāo)準(zhǔn)和標(biāo)定,在日常的運行中,實時的或每經(jīng)過一次體掃之后,對影響雷達(dá)定量的參數(shù)進(jìn)行一次自動校準(zhǔn)和檢測,以確保雷達(dá)對回波強(qiáng)度的準(zhǔn)確測量;同時還具有強(qiáng)大的地物雜波抑制能力;先進(jìn)的產(chǎn)品算法和智能型的探測分析系統(tǒng)。1.3 天氣雷達(dá)產(chǎn)品介紹天氣雷達(dá)產(chǎn)品介紹應(yīng)用多普勒雷達(dá)探測到的回波強(qiáng)度、徑向速度和速度譜寬基本數(shù)據(jù),經(jīng)過加工處理,坐標(biāo)轉(zhuǎn)換和計算生成某些與氣象有關(guān)的物理量后而產(chǎn)生的數(shù)據(jù)或圖像稱為產(chǎn)品。嚴(yán)格來說,雷達(dá)產(chǎn)品約 28 個,只是因為不同的分辨率和不同的數(shù)據(jù)色標(biāo)等級,同一個產(chǎn)品又可以分為多個。因此,共有約 80

15、 個雷達(dá)產(chǎn)品的編號是不連續(xù)的!根據(jù)雷達(dá)產(chǎn)品的分類方式不同,可將雷達(dá)產(chǎn)品分為基本產(chǎn)品和導(dǎo)出產(chǎn)品,或基本數(shù)據(jù)產(chǎn)品、物理量產(chǎn)品、信息產(chǎn)品或者錐面產(chǎn)品(仰角)和體積產(chǎn)品2。以前常用的二維雷達(dá)產(chǎn)品有平面位置顯示(ppi) ,即雷達(dá)天線以固定仰角,全方位掃描的探測方式獲取的數(shù)據(jù),以極坐標(biāo)的形式,用不同的彩色色標(biāo)表示數(shù)據(jù)值的大小或方向。距離高度顯示(rhi) ,即雷達(dá)天線以固定方式以固定方位作俯仰掃描,這種探測方式獲取的數(shù)據(jù)用不同色標(biāo)表示數(shù)據(jù)的大小和方向,以極坐標(biāo)顯示出來的圖像產(chǎn)品。如今運用的天氣雷達(dá)產(chǎn)品是多種多樣的,不同的臺站可以根據(jù)不同的地理對產(chǎn)品不同需求。根據(jù)實際需求,對雷達(dá)體掃數(shù)據(jù)的強(qiáng)度,速度,譜寬

16、基本信息運用不同算法,得到精簡實用產(chǎn)品。在此,本文主要是對基本的反射率數(shù)據(jù)進(jìn)行錐面顯示,通過該產(chǎn)品可以直觀清楚地了解地形,云塊,風(fēng)場等對氣象的影響,能夠逼真的反應(yīng)外部真實世界,增加用戶操作選擇功能,對第 3 頁 共 36 頁不同仰角的回波數(shù)據(jù)進(jìn)行立體錐面顯示,用戶通過鍵盤控制能夠?qū)Σ煌恢眯畔⑦M(jìn)行全面、細(xì)致研究,將雷達(dá)掃描方式的回波信息形象展現(xiàn)給用戶,相對于傳統(tǒng)的二維產(chǎn)品具有可視化程度高、立體動態(tài)感強(qiáng)的特點。1.41.4 研究意義研究意義現(xiàn)代天氣雷達(dá)產(chǎn)品在天氣預(yù)報中有著十分重要的參考意義,通過本課題能夠直觀,形象,生動地展示雷達(dá)產(chǎn)品,讓預(yù)報者短時間判斷天氣;從而迅速,果斷,準(zhǔn)確的做出決策。立體

17、錐面氣象產(chǎn)品可以直觀,清楚地了解地形,云塊等對氣象的影響,能高度逼真的反映外部真實世界,對氣象預(yù)報工作者的預(yù)報提供了參考依據(jù),讓預(yù)告工作者能夠及時為社會公眾提供最新的天氣信息。同時,通過本文的研究,將三維概念在氣象領(lǐng)域中的應(yīng)用提供給所有關(guān)心氣象事業(yè)發(fā)展的人員,將錐面模型的概念應(yīng)用到天氣預(yù)報系統(tǒng)中,讓真實的世界反映到天氣預(yù)報系統(tǒng)之中,讓以后的預(yù)報更加形象、真實;給以后的其他相關(guān)氣象產(chǎn)品的開發(fā)人員提供新的思路。1.5 開發(fā)環(huán)境介紹及研究思路開發(fā)環(huán)境介紹及研究思路visual s 2003 開發(fā)環(huán)境集成了 visual basic.net、c#、visual c+、asp.net 以及 visual

18、 foxpro 開發(fā)工具,visual studio.net 都可以提供近乎完美的解決方案,visual studio.net 提供了包括設(shè)計、編碼、編譯調(diào)試、數(shù)據(jù)庫聯(lián)接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評測報告等高級功能。本程序主要使用 visual c+工具,因為它具有面向?qū)ο蟆⒖梢暬_發(fā);眾多的開發(fā)商支持以及業(yè)已成為工業(yè)標(biāo)準(zhǔn)的 mfc 類庫;visual c+封裝了windows 的 api(應(yīng)用程序接口)函數(shù)、user、kernel、gdi 函數(shù),幫助我們弄清了許多函數(shù)的組織方法,隱去了創(chuàng)建、維護(hù)窗口的許多復(fù)雜的例行工作,簡化了

19、編程。在本程序中,重點是應(yīng)用 directx 進(jìn)行立體錐面建立模型,directx 環(huán)境中能夠建立任何想象的圖像,而最基本的都是由點構(gòu)成線,而由線構(gòu)成面,再由面構(gòu)成體,建立實用的幾何體錐面結(jié)構(gòu)。由于 visual s 2003 能夠很好地應(yīng)用 directx 所建立的幾何體模型,二者具有很好的兼容性和移植性。綜上所列,本研究選擇 visual s 2003 中的 visual c+能夠?qū)崿F(xiàn)本文的要求。微軟推出的 directx 開發(fā)工具,其 direct 就是“直接”的意思,x 是代數(shù)中常用于表示未知數(shù)的字符,在這里可以理解成表示所有的一切。在游戲中對所有的一切硬件直接操作,這就是 direc

20、tx 的意思。微軟的 directx 軟件開發(fā)工具包(sdk)提供了一套應(yīng)用程序編程接口(apis) ,這個編程接口可以開發(fā)高質(zhì)量、實時的應(yīng)用程序,當(dāng)然最主要的就是游戲所需要的各種資源。directx 技術(shù)為軟件開發(fā)者提供硬件無關(guān)性。微軟開發(fā) directx的主要目的之一是促進(jìn) windows 操作系統(tǒng)上的游戲和多媒體應(yīng)用程序的發(fā)展。另一方面,微軟公司開發(fā) directx 是為了在當(dāng)今或今后的計算機(jī)操作系統(tǒng)上提供給基于 windows 平臺第 4 頁 共 36 頁的應(yīng)用程序以高表現(xiàn)力、實時訪問硬件的能力。directx 分為普通的安裝包和開發(fā)工具包,為了應(yīng)用 directx 建立錐面立體模型,

21、因此必須對 directx 開發(fā)工具包了解。本文的最終結(jié)果是將雷達(dá)的體掃數(shù)據(jù)中的反射率數(shù)據(jù),形象,直觀,準(zhǔn)確地顯示在對應(yīng)的雷達(dá)錐面模型位置上。因此,本文的重點是在建立錐面上,只有建立好的錐面模型,才能將回波位置準(zhǔn)確地反映。通過 directx 工具建立好立體錐面幾何體模型,應(yīng)用 visual s 2003 工具解析體掃數(shù)據(jù)文件,生成不同仰角下的紋理圖像,然后再應(yīng)用 directx下的紋理效果處理,完成立體錐面顯示效果,在窗體上增加選擇不同仰角的立體錐面顯示效果,通過鍵盤控制對錐面模型的各個角度信息準(zhǔn)確反映。第 5 頁 共 36 頁2 建立模型建立模型2.1 directx 基礎(chǔ)知識基礎(chǔ)知識在計

22、算機(jī)的 3d 世界,可以表現(xiàn)出真實世界中所有的事物。在計算機(jī)的三維世界中,如果要顯示一個物體,首先關(guān)心的就是這個物體怎樣由點來構(gòu)成。然后用這些點來構(gòu)成多邊形,由多邊形來構(gòu)成立體的幾何形體。只要能確定了點的位置,數(shù)量,顏色,就可以形成任何你需要的物體。在 directx 3d,為了保證永遠(yuǎn)使用正的 z 值來表示距離,慣用左手坐標(biāo)系來表示整個世界的位置。三維旋轉(zhuǎn)變換可以使物體在三維立體空間中產(chǎn)生旋轉(zhuǎn)。旋轉(zhuǎn)可以是沿著 x 軸,或 y 軸,或 z 軸進(jìn)行。三維縮放可以使物體在三維立體空間中產(chǎn)生大小的縮放效果。在三維坐標(biāo)中觀察世界時,需要確定以下幾個問題:()在那個位置觀察:需要使用坐標(biāo)來表示這個觀察點

23、的準(zhǔn)確位置,這個坐標(biāo)是在計算機(jī)中的實際坐標(biāo)系中的值。()向哪個方向觀察。 ()對于觀察者來說,代表上方的方向。最后經(jīng)過三維透視轉(zhuǎn)換顯示在顯示屏幕中。direct3d 和系統(tǒng)其他組件的關(guān)系如圖 13:圖 2.1direct3d 和系統(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é)

24、構(gòu),可以在上層使用相同的接口調(diào)用來使用任何類型的 3d 顯卡,實現(xiàn)需要的 3d 功能。win32 applicationwin32 applicationdirect3d apigdihal devicedevice driver interface(ddi)graphics hardware第 6 頁 共 36 頁使用 direct3d 編程時,首先創(chuàng)建 direct3d 對象,在程序結(jié)束時,也必須釋放direct3d 對象。在創(chuàng)建完 direct3d 對象后,可以獲得指向 direct3d 對象的接口指針。通過指向 direct3d 對象的接口指針,我們可以調(diào)用 direct3d 對象提供

25、所有接口函數(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)心使用什么具體的顯

26、卡在進(jìn)行 3d 操作。lpdirect3ddevice9 g_pd3ddevice = null;/定義 d3d 設(shè)備接口指針初始化為空/定義 present 參數(shù)結(jié)構(gòu)d3dpresent_parameters d3dpp;zeromenory(&d3dpp,sizeof(d3dpp);d3dpp.windowed = true;d3dpp.swapeffect = d3dswapeffect_copy_vsync;if(failed(g_pd3d-createdevice(d3dadapter_default,d3ddevtype_hal,hwnd,d3dcreate_software_ve

27、rtexprocessing,&d3dpp,&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)行掌握。2.2 windows 基本編程原理和方法基本編程原理和方法用 c+編寫一個 windows 應(yīng)用程序,必須掌

28、握 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

29、設(shè)備成功的話,接著就可以創(chuàng)建任意幾何體模型了(用 createvertexbuffer 創(chuàng)建頂點緩存區(qū),接著可以定義一個指第 7 頁 共 36 頁針,用于復(fù)制頂點數(shù)據(jù)時指向頂點緩沖區(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ā)送的消息代碼:

30、下圖是 windows 程序和 windows 消息的基本流程4:圖 2.2windows 程序和消息處理流程圖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)前消息是否“退出”

31、消息是否本程序要處理的消息第 8 頁 共 36 頁圖2.3main函數(shù)的流程圖從圖2.3我們不能看出,在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()工作過程,在本文

32、中,需要建立模型,在初始化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第 9 頁 共 36 頁觸發(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_

33、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擇。圖 2.3 介紹了 main()函數(shù)的整個程序的執(zhí)行過程,在上面則介紹了 windows 如何響應(yīng)消息,對一個 windows 程序的運行過程也有一個總體的認(rèn)識和了解,應(yīng)用上述簡單的框架,開發(fā)者可以在初始化設(shè)備及模型之后初

34、始化自己所能想到的任意幾何體模型,然后進(jìn)行directx 下的燈光,材質(zhì),紋理,視角轉(zhuǎn)換,霧化,雨化,雪化等特殊效果處理手段,進(jìn)行渲染,建立切切實實的立體圖形。呈現(xiàn)生動,形象的圖形,開發(fā)者可以發(fā)揮自己的想象能力,建立自己的應(yīng)用模型,運行 directx 先進(jìn)技術(shù),結(jié)合構(gòu)成思路,將一個幾何體模型分解成若干三角形構(gòu)成,而三角形又是由點構(gòu)成的,通過點的連接順序不同,繪制不同的幾何體模型,運用到實際中2.3 模型的構(gòu)成思路和設(shè)計原理模型的構(gòu)成思路和設(shè)計原理2.3.1 雷達(dá)基數(shù)據(jù)產(chǎn)品剖析雷達(dá)基數(shù)據(jù)產(chǎn)品剖析本文研究的是對天氣雷達(dá)產(chǎn)品的反射率信息進(jìn)行立體錐面顯示,關(guān)鍵在于如何建立的模型才是最佳的模型,為了能

35、夠建立最優(yōu)模型,必須對雷達(dá)的反射率產(chǎn)品的構(gòu)成結(jié)構(gòu)進(jìn)行深入的剖析。 圖 2.4錐面模型分析從上圖我們可以看到,一個錐面模型的構(gòu)成需要知道方位角,仰角,斜距,而這些數(shù)據(jù)都可以從雷達(dá)的體掃數(shù)據(jù)得出,在雷達(dá)數(shù)據(jù)中,雷達(dá)所能探測的最遠(yuǎn)距離是 512km,而方位角(theta)斜距(m_c)仰角(fi)第 10 頁 共 36 頁每公里則有八個點,即每個點所代表的距離是 125m;在方位角上,theta 的變化范圍為0360 度,在方位角上,總共有 600 個徑向;而在仰角上,對一般的雷達(dá)來說,變化范圍小于 90 度,在低仰角掃描的時候,由于受到地物雜波的干擾,為了能夠很好地消除地物雜波,在低仰角往往掃描兩

36、次,而隨著仰角的增大,其仰角的抬升間隔頁逐漸增大,因為在高仰角掃描的時候,天氣現(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ù)、多層的情況。本文

37、通過以下過程來實現(xiàn)。2.3.2 程序概要設(shè)計流程程序概要設(shè)計流程所有函數(shù)都是從 main()函數(shù)開始執(zhí)行的,然后進(jìn)行注冊一個窗口,創(chuàng)建窗口,對于本文的 directx 來說,必須初始化 directx3d 設(shè)備及對象成功后才能夠初始化幾何體模型,只有初始化幾何體模型成功后才對窗口進(jìn)行顯示,更新,和消息處理,通過消息處理事件,轉(zhuǎn)譯消息,分散消息,最后進(jìn)行幾何體模型的渲染;構(gòu)成一個生動的幾何體模型,這就是本文構(gòu)建模型的思路,然后運用 directx 工具下的貼圖效果處理手段,對立體錐面模型進(jìn)行渲染效果處理。下面是設(shè)計的主流程圖 2.5: 開始注冊窗口類,創(chuàng)建窗口初始化 3d 設(shè)備及對象是否成功初始

38、化幾何體模型是否成功 顯示窗口,更新窗口,進(jìn)入消息循環(huán)處理第 11 頁 共 36 頁圖 2.5整個程序設(shè)計流程圖圖 2.5 是對整個程序設(shè)計流程的概述,對于其中初始化 3d 設(shè)備及對象的概述和流程在前面以前提及過,對 3d 立體錐面模型的構(gòu)建,如果幾何模型中使用了紋理貼圖,首先應(yīng)該打開紋理圖片,本文主要是通過紋理貼圖手段來達(dá)到立體效果。成功后按照對應(yīng)的結(jié)構(gòu)體創(chuàng)建頂點緩存區(qū),緩存區(qū)創(chuàng)好后,就需要按設(shè)計要求往頂點緩存區(qū)存放點數(shù)據(jù)。模型的構(gòu)成就是這樣,建模的簡要流程圖如圖 2.6:無wm_quit消息事件peekmessage函數(shù)是否為 1轉(zhuǎn)譯消息,分播消息渲染幾何體模型釋放窗口內(nèi)存空間返回值 0,

39、程序結(jié)束創(chuàng)建模型開始文理圖片打開是否成功創(chuàng)建頂點緩存區(qū)是否成功按設(shè)計要求存放點數(shù)據(jù)返回打開失敗返回創(chuàng)建失敗第 12 頁 共 36 頁圖 2.6創(chuàng)建幾何體模型的簡要流程圖圖 2.6 主要介紹的是模型的建立的簡要流程圖,當(dāng)一個模型建立好后,渲染效果決定模型的成功與否,模型的渲染是 directx 中非常重要的部分。渲染效果決定了模型的構(gòu)成方式,在模型渲染之前還可以進(jìn)行多種立體效果處理,燈光,紋理,材質(zhì),坐標(biāo)轉(zhuǎn)換,霧化,雨化,雪化等效果處理,給人更加逼真的效果。這些效果處理將在后面的章節(jié)中做專門深入的講解。由此可見,本文的關(guān)鍵在于模型的建立和貼圖的效果處理,模型構(gòu)成原理已在前面介紹,模型的構(gòu)成方式是

40、多種的,幾種模型根據(jù)數(shù)據(jù)的實際數(shù)據(jù)構(gòu)成,經(jīng)過比較篩選,確定一種合適的模型構(gòu)建思路,下面是兩種建立模型思路的比較。2.3.3 兩種模型的對比兩種模型的對比根據(jù)上面的模型產(chǎn)品剖析,對雷達(dá)反射率的顯示應(yīng)用了解。對模型的建立構(gòu)成,采取的手段也是多種方式,不管建立什么樣的模型,最基本的也是最重要的就是如何建立好點,只有把點建立好后,才能構(gòu)成線,進(jìn)而構(gòu)成面,最后構(gòu)成體,這個總體的基本思路是不會改變的。因此立體錐面模型點的構(gòu)成方式就成了本文的重點。不管采取什么樣的手段建立模型,都必須首先把點建立好,下面介紹幾種建立模型的方法:圖 2.7立體錐面投影確定點坐標(biāo)確定好各個點的坐標(biāo)后,最主要的就是點的連接方式,在

41、 direct3d 中,點的坐標(biāo)連接方式總共有點列表(pointlist),線列表(linelist),線條紋(linestrips),三角形列表(tranglelists),三角形條紋(trianglestrips),三角形扇(trianglefans)方位角(theta)氣象目標(biāo)高度仰角(fi)結(jié)束,返回第 13 頁 共 36 頁六種連接方式,根據(jù)我們需要,我們在這里選擇了三角形條紋進(jìn)行了點的連接,連接時應(yīng)該注意的是點的存放順序也對最后的圖形效果有影響,為了便于后面的貼圖處理,我們必須把我們所建立的幾何體模型構(gòu)成一個封閉的曲面,第一種方法,利用錐面在平面上的投影來確定錐面的位置,雷達(dá)能探測

42、的最遠(yuǎn)距離為m_c,則雷達(dá)所能探測的高度(z 坐標(biāo))為:m_z = m_c * sin(fi)(2-1)其中仰角 fi 在一定范圍變化,由雷達(dá)的體掃數(shù)據(jù)給出。雷達(dá)目標(biāo)物在水平面的坐標(biāo)(x,y)坐標(biāo)方程為:m_x = m_c * cos(fi) * cos(theta)(2-2)m_y = m_c * cos(fi) * sin(theta)(2-3)根據(jù)式 1,2,3 可以確定錐面幾何體模型的位置坐標(biāo)。假定某一個定值仰角,就模型的構(gòu)成來說,可以設(shè)置最遠(yuǎn)距離為 512km。直接運用最遠(yuǎn)距離的圓的點,將圓分為四十等分,即由四十個 theta 值,將最遠(yuǎn)一圈的數(shù)據(jù)構(gòu)成的點,直接與圓心連接,就構(gòu)成了一

43、個錐面模型,其實現(xiàn)代碼如下:float fi =2*d3dx_pi/6;a = c * cosf(fi);b = c * sinf(fi);pvertices2cnt.position = d3dxvector3( a*cosf(theta), b, a*sinf(theta) );經(jīng)過上面簡短程序,可以構(gòu)成的點如圖 2.8,其點的連接方式,可以以線列表的方式構(gòu)成連接如圖 2.7,可以以三角形帶列圖構(gòu)成如圖 2.10,如果填充模式不是以線框模式填充,而以實體模式填充,則構(gòu)成錐面如圖 圖 2.8第一種模型點模式第 14 頁 共 36 頁圖 2.9第一種模型線列表模式 圖 2.10第一種模型三角形

44、帶列表模式圖 2.11第一種模型實體填充效果圖經(jīng)過上面的圖形,清楚發(fā)現(xiàn)各個模型的由點到線再到面的整個過程。立體錐面的終于構(gòu)成,仔細(xì)想下便知,數(shù)據(jù)的構(gòu)成形式每公里 8 個點,每一個 cut 上有 600 個徑向,這是一個相當(dāng)龐大的數(shù)據(jù),而第一種模型就一概而論。將整個圖形全部應(yīng)用到立體錐面中,當(dāng)觀察者需要知道某個距離確切位置上點的雷達(dá)回波信息時,那就會時一件非常麻煩的事,為了對雷達(dá)立體錐面模型的距離做一個標(biāo)定,因此,必須考慮另外一種立體錐面模型,更適用于現(xiàn)代氣象觀察中。第二種模型建立的方案是考慮到距離,也即是考慮到了對某個具體位置的雷達(dá)回波信息進(jìn)行參照,經(jīng)過考慮,用于本研究在徑向立體錐面的徑向距離

45、上選用了 5 個徑向距離,也就是將 512km 用 4 個距離段來表示,每個距離段代表 128km,當(dāng)然這個距離劃分越細(xì)越好,經(jīng)度越高,應(yīng)用價值也越高。假設(shè)仰角為某一定值,方位角上仍然劃分 40 等分,對于每個點的確定仍然可以用式 1,2,3 來表示,在代碼中需要主要的是,在徑向距離上第 15 頁 共 36 頁多了幾次循環(huán)。其第二種模型的主要程序部分如下:int iradialpoint = 5; /雷達(dá)所能探測的最大點。int cnt = 0;pvertices2cnt.position=d3dxvector3( 0, 0, 0 );cnt+;for( dword i=0; i40; i=i

46、+1 )float theta = float(2*d3dx_pi*i)/(40-1);float fi =2*d3dx_pi/6;for( float point = 0;point setlight( 0, &light ); /設(shè)置燈光g_pd3ddevice-lightenable( 0, true );/打開燈光第 19 頁 共 36 頁g_pd3ddevice-setrenderstate( d3drs_lighting, true ); /燈光著色方式g_pd3ddevice-setrenderstate( d3drs_ambient, 0 xf0f0f000 );/最后,打開一

47、些ambient(散射光)2.5.2 材質(zhì)效果材質(zhì)效果在真實的自然環(huán)境中,每種物質(zhì)表面都具有不同的材質(zhì)。比如鏡子,會在陽光下反射強(qiáng)烈的光線,而木質(zhì)的家具在光線下又顯得比較溫和。物體的材質(zhì)決定了物質(zhì)的表面如何對光線做出反應(yīng),如何反射光線,包括如何進(jìn)行鏡面反射和如何進(jìn)行漫反射;在高光部分如何反射光線;是否會自己發(fā)出光線。如果沒有定義物體的材質(zhì),那么 direct3d 場景中即使有光源,但是物體沒有反射任何的光線,那么物體將會是仍然一片漆黑。因此,需要在 direct3d 場景中使用燈光,幾何體模型必須指定材質(zhì),才能顯示出理想中顏色和光照效果。跟燈光效果類似,在使用材質(zhì)之前需要定義材質(zhì)的結(jié)構(gòu),設(shè)置物

48、體鏡面反射的顏色和透明度,設(shè)置物體漫反射的顏色和透明度,設(shè)置高光部分的顏色和透明度,使用者可以根據(jù)自己的實際模型所需進(jìn)行取舍和調(diào)整。材質(zhì)結(jié)構(gòu)變量中包括diffuse,ambient,specular,emissive,power,pmaterial 成員。diffuse 表示材質(zhì)反射的光線顏色;ambient 表示物體漫反射光線的顏色;specular 表示次啊之高光部分發(fā)射什么顏色,也就是反射光線最多的,最亮的部分反射什么顏色的光線;emissive 表示材質(zhì)表面發(fā)出光線的顏色;power 表示材質(zhì)的高光部分反射的光線強(qiáng)度值;pmaterial 是指向材質(zhì)的指針。使用了材質(zhì)效果后,與燈光效果

49、結(jié)合起來,與實際效果接近一步。下面給出了一個紅色材質(zhì)例子程序:d3dmaterial9 mtrl;:zeromemory( &mtrl, sizeof(d3dmaterial9) );mtrl.diffuse.r = mtrl.ambient.r = 1.0f; /反射光多能工物體漫反射光都為紅色mtrl.diffuse.g = mtrl.ambient.g = 0.0f;mtrl.diffuse.b = mtrl.ambient.b = 0.0f;mtrl.diffuse.a = mtrl.ambient.a = 1.0f;g_pd3ddevice-setmaterial( &mtrl );

50、 /設(shè)置材質(zhì)2.5.3 3d 轉(zhuǎn)換效果轉(zhuǎn)換效果前面介紹了3d的轉(zhuǎn)換原理,在direct3d中主要包括世界坐標(biāo)系轉(zhuǎn)換,透視轉(zhuǎn)換,觀察坐標(biāo)系轉(zhuǎn)換。接下來我們一一介紹,透視轉(zhuǎn)換決定了觀察攝像機(jī)的鏡頭屬性。比如觀察的水平范圍角度和垂直范圍角度,從什么距離開始到什么距離結(jié)束的范圍內(nèi)的場景可以被觀察到,下面是透視轉(zhuǎn)換的一個例子程序:d3dxmatrixa16 matproj; /定義矩陣結(jié)構(gòu)d3dxmatrixperspectivefovlh( &matproj, d3dx_pi/4, 1.0f, 1.0f, 100.0f );/使用該函數(shù)完成透視轉(zhuǎn)換,觀察角度的幅度值是d3dx_pi/4,從觀察點位置前

51、1個坐標(biāo)單位到100個坐標(biāo)第 20 頁 共 36 頁單位范圍內(nèi)的3d世界可以被觀察到。g_pd3ddevice-settransform( d3dts_projection, &matproj );/函數(shù)調(diào)用完成轉(zhuǎn)換觀察坐標(biāo)系轉(zhuǎn)換可以實現(xiàn)改變觀察者的觀察方向和觀察位置的功能。在 3d 游戲中,當(dāng)你通過鍵盤和鼠標(biāo)控制模型在 direct3d 世界中變化時,這個功能就是通過觀察坐標(biāo)系轉(zhuǎn)換實現(xiàn)的。下面是觀察坐標(biāo)系轉(zhuǎn)換的一個例子程序:d3dxvector3 veyept( m_xpos, m_ypos,-m_zpos); /眼睛位置,觀察者在三維坐標(biāo)中的坐標(biāo);d3dxvector3 vlookatpt

52、( 0.0f, 0.0f, 0.0f ); /觀察的方向,d3dxvector3 vupvec( 0.0f, 1.0f, 0.0f ); /相對于觀察者上方的方向d3dxmatrixa16 matview; /定義矩陣結(jié)構(gòu)d3dxmatrixlookatlh( &matview, &veyept, &vlookatpt, &vupvec );/觀察坐標(biāo)轉(zhuǎn)換g_pd3ddevice-settransform( d3dts_view, &matview ); /調(diào)用函數(shù)完成轉(zhuǎn)換世界坐標(biāo)系轉(zhuǎn)換可以實現(xiàn)物體在 direct3d 坐標(biāo)系中位置的改變。模型中所有的運動物體都是通過進(jìn)行世界坐標(biāo)系轉(zhuǎn)換不斷的連

53、續(xù)改變坐標(biāo)位置而產(chǎn)生運動的效果。在 direct3d中使用坐標(biāo)系轉(zhuǎn)換非常方便。如下例程序:d3dxmatrix matworld;/定義矩陣結(jié)構(gòu)d3dxmatrixrotationyawpitchroll(&matworld, 0, 0, 10);/將物體在z的正方向移動10個坐標(biāo)單位g_pd3ddevice-settransform( d3dts_world, &matworld );/調(diào)用函數(shù),完成轉(zhuǎn)換2.5.4 模型控制模型控制模型控制是 direct3d 中必不可少的組成部分,如果我們所建立的模型失去了控制,就如游戲成了電影,只能觀看,而不能切身體會,也就失去了它的魅力所在。為了讓模型

54、與使用者能夠更加緊密聯(lián)系,我們必須加入簡單的控制操作,讓使用者能夠從各個角度看到我們的模型特征和徑向信息。通過鍵盤事件觸發(fā) windows 消息處理函數(shù),讓 windows 響應(yīng)鍵盤控制操作。有了鍵盤控制操作,我們可以通過按鍵切換模型的填充模式(線框模式/實體模式) ,可可以 keydown()事件,設(shè)置不同的虛擬鍵,改變世界坐標(biāo)轉(zhuǎn)換中的坐標(biāo)值,讓模型繞x,y,z 軸一定角度旋轉(zhuǎn),還可以改變觀察坐標(biāo)系中的坐標(biāo)值,讓觀察者從不同的視角觀察同一模型。以上只是通過 windows 事件處理鍵盤消息,同理,還可以處理鼠標(biāo)操作;有了這些使用者的操作控制后,讓使用者跟模型更加密切,有了相互溝通的橋梁,因此

55、,外界控制是 direct3d 世界中必不可少的工具。以下是模型控制代碼:switch( nchar )case 0 x57:/wm_nrotatex += 2; /每次沿x坐標(biāo)旋轉(zhuǎn)2度第 21 頁 共 36 頁case 0 x4d: / mm_bearth = !m_bearth; /是否繪制大地,切換鍵break;case 0 x43: / c通過判定,切換立體錐面模型的填充方式是線框模式還是實體模式m_bwireframe = !m_bwireframe;g_pd3ddevice-setrenderstate( d3drs_fillmode, m_bwireframe? d3dfill_

56、wireframe : d3dfill_solid );break;case b:m_busetexture = !m_busetexture; /通過按鍵切換是否使用紋理效果break;render();/渲染(其他directx效果處理進(jìn)行調(diào)用)cview:onkeydown(nchar, nrepcnt, nflags);本研究用到的主要效果處理就是以上幾種效果處理,還有一種重要的紋理效果處理沒有涉及,將在后面章節(jié)結(jié)合根據(jù)體掃數(shù)據(jù)生成的紋理圖片來講述紋理效果,運用到實際的例子中。除了上面提到的幾種 directx3d 效果外,還有霧化,雨化,雪化及粒子系統(tǒng)等效果。為了限制 direct3

57、d 世界的可視距離,就需要加入霧化效果;用 3d 中的點列表或者線列表則可以表示雨化效果。以上部分都是對模型本身的控制操作,并沒有給立體錐面賦予精美的表面紋理,與普通的幾何體沒有差別。為此,必須給出錐面模型的紋理,下面就將介紹立體錐面幾何體的紋理圖像是如何生成的。第 22 頁 共 36 頁3 反射率產(chǎn)品圖像反射率產(chǎn)品圖像生成生成3.1 反射率數(shù)據(jù)提取反射率數(shù)據(jù)提取通過查閱相關(guān)雷達(dá)資料和雷達(dá)數(shù)據(jù)格式文檔,該雷達(dá)體掃數(shù)據(jù)主要有三部分組成,站址參數(shù)段,性能參數(shù)段和觀測參數(shù)段。站址參數(shù)段主要包括站址信息,文件頭的長度,站址的站名,雷達(dá)的經(jīng)緯度信息,天線的海拔高度,測站四周地物最大仰角,站址的最佳觀測仰

58、角,以及站點編號等信息;而在雷達(dá)性能參數(shù)段主要包括天線增益,水平,垂直波束寬度,極化狀況,波長,雷達(dá)峰值功率,速度處理方式,地物處理方式等雷達(dá)性能進(jìn)行設(shè)置;在觀測參數(shù)段就包含掃描方式,立體掃描層數(shù),觀測精確時間,開始 gps 時間,觀測要素,速度退模糊,脈沖重復(fù)頻率,最大測速,最大測距,各層的仰角,一個徑向中的數(shù)據(jù)排列方式,一個強(qiáng)度,速度,譜寬占用的字節(jié)數(shù),觀察結(jié)束精確時間等信息。數(shù)據(jù)的存放內(nèi)容都嚴(yán)格按照數(shù)據(jù)格式存儲。根據(jù)雷達(dá)體掃數(shù)據(jù)的格式,解析對應(yīng)部分的具體參數(shù)組成,在雷達(dá)掃描方式上要注意,因為雷達(dá)的掃描方式不同將會帶來產(chǎn)生的數(shù)據(jù)組成方式也不同,有些仰角只要強(qiáng)度信息,而沒有譜寬和速度信息,而

59、有的仰角層掃描里卻沒有強(qiáng)度信息,要區(qū)分每個仰角層里究竟包括了那些數(shù)據(jù),必須對雷達(dá)的掃描方式了解。雷達(dá)的仰角和距離也很重要,這些數(shù)據(jù)通過雷達(dá)體掃數(shù)據(jù)直接提供給用戶,用戶在后端的進(jìn)行的開發(fā)二次產(chǎn)品,都是在這個數(shù)據(jù)可信的基礎(chǔ)上實施的;通過這兩個因素以及方位角就能夠準(zhǔn)確地定位出哪一點的天氣數(shù)據(jù)信息。通過詳細(xì)準(zhǔn)確的數(shù)據(jù)格式,可以根據(jù)文件的路徑來讀取體掃數(shù)據(jù),在這里,只需要讀取體掃數(shù)據(jù)中的強(qiáng)度數(shù)據(jù),來進(jìn)行圖形的繪制。在紋理圖形繪制之前,必須保證讀取的數(shù)據(jù)是正確的,每個距離庫的大小,每個徑向數(shù)據(jù)的長度,必須嚴(yán)格按照數(shù)據(jù)格式文件頭來處理。反射率數(shù)據(jù),即強(qiáng)度信息,是本研究所關(guān)心的數(shù)據(jù),對于與反射率無關(guān)的數(shù)據(jù),可

60、以直接跳過,節(jié)約時間和空間,對于出現(xiàn)的問題,可以對程序設(shè)置斷點進(jìn)行調(diào)試,直到最后正確執(zhí)行。反射率數(shù)據(jù)反映的是云塊的厚度和范圍大小,對是否降雨,降多大的雨,有很重要的關(guān)系。因此,必須準(zhǔn)確生成強(qiáng)度紋理圖形。3.2 反射率圖像反射率圖像生成生成生成圖像的軟件流程圖如下:開始第 23 頁 共 36 頁圖 3.1生成紋理圖像的流程圖打開體掃文件后,對體掃文件進(jìn)行解析,確定各個參數(shù)段的對應(yīng)的值。建立一個10241024 大小的圖像,而每一個 cut 都有 600 個徑向的數(shù)據(jù),每公里有 8 個點,接著就需要在每個 cut 的空的圖像文件中貼上數(shù)據(jù)。而數(shù)據(jù)的組成則全部來自體掃數(shù)據(jù)的對應(yīng)反射率。首先應(yīng)該確定各

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論