靜態(tài)模擬無人機航拍圖像系統(tǒng)畢業(yè)設計_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科生畢業(yè)設計(論文)</p><p>  題 目 靜態(tài)模擬無人機航拍圖像系統(tǒng) </p><p>  計算機科學與工程院(系)軟件工程 專業(yè)</p><p><b>  摘 要</b></p><p>  靜態(tài)模擬無人機的航拍圖像

2、軟件是一個典型的計算機模擬仿真技術的應用。利用圖形分形和計算機模擬仿真的基本原理和操作方法, 構造了一個仿真的模擬航拍圖系統(tǒng), 其能夠有效模擬出類似真實的航拍效果,還可以根據需要來調整分形算法來動態(tài)改變航拍圖,模擬真實環(huán)境無法實現的多變的航拍效果,充分的展現了分形幾何在模擬自然景象的優(yōu)勢。因此, 它可以作為模擬作戰(zhàn)環(huán)境和災害搜救等航拍圖的一種輔助工具。分形理論與計算機科學理論的結合同時為實現圖像數據壓縮提供了新的途徑。本文主要研究分形理

3、論中的分形算法,采用分形的方法生成山和云等自然景物。本軟件就是研究圖形分形理論結合VB編程技術、配色技術和隨機中點位移分形算法來實現精美逼真的靜態(tài)模擬無人機的航拍圖像的生成。</p><p>  關鍵詞:模擬仿真; 分形理論;分形算法</p><p><b>  ABSTRACT</b></p><p>  Static simulation

4、of Unmanned Aerial Vehicle aerial imaging software is a typical application of computer simulation technology. The basic principles and methods of operation using the graphics fractal and computer simulation, constructio

5、n of a simulation of analog aerial view of the system, which can effectively simulate a similar real aerial effects, can also be adjusted fractal algorithms needed to dynamically change the aerial view, analog the effect

6、 of changing aerial real environment can n</p><p>  Key words: Simulation; Fractal Theory; Fractal algorithm</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b>&l

7、t;/p><p>  1.1論文研究的背景與意義1</p><p>  1.1.1論文研究的背景1</p><p>  1.1.2論文研究的意義1</p><p>  1.2論文研究的基本內容及思想2</p><p>  1.2.1航拍圖像系統(tǒng)基本內容2</p><p>  1.2.2航拍

8、圖像系統(tǒng)設計思想2</p><p>  1.3計算機模擬仿真技術的發(fā)展與趨勢2</p><p>  第二章 航拍圖像系統(tǒng)概論4</p><p>  2.1航拍圖像系統(tǒng)4</p><p>  2.1.1航拍圖像系統(tǒng)簡介4</p><p>  2.1.2航拍圖像系統(tǒng)概念4</p><p&g

9、t;  2.2航拍圖像系統(tǒng)基本內容5</p><p>  第三章 靜態(tài)模擬無人機的航拍圖像系統(tǒng)設計6</p><p>  3.1靜態(tài)模擬無人機的航拍圖像系統(tǒng)概述6</p><p>  3.2系統(tǒng)實現詳細設計方案6</p><p>  第四章 靜態(tài)模擬無人機的航拍圖像編碼8</p><p><b>

10、;  4.1開發(fā)工具8</b></p><p>  4.1.1開發(fā)平臺介紹8</p><p>  4.1.2 開發(fā)語言介紹8</p><p>  4.2 靜態(tài)模擬無人機航拍圖像系統(tǒng)編碼設計9</p><p>  4.2.1靜態(tài)模擬無人機航拍圖像系統(tǒng)軟件功能介紹9</p><p>  4.2.2系統(tǒng)

11、界面設計9</p><p>  4.2.3軟件設計關鍵代碼10</p><p>  第五章 軟件實現效果圖15</p><p><b>  結束語17</b></p><p><b>  致 謝18</b></p><p><b>  參考文獻19&

12、lt;/b></p><p><b>  第一章 緒論</b></p><p>  1.1論文研究的背景與意義</p><p>  1.1.1論文研究的背景</p><p>  隨著計算機技術和internet在社會的飛速發(fā)展,各種應用軟件的廣泛使用給各行各業(yè)的人們帶來了各種便捷和提供了更好的服務,人們也正在越來

13、越多的關注新的計算機技術能夠帶來的好處。計算機模擬仿真技術主要是通過計算機相關的技術和其他相關領域的專業(yè)知識為基礎,來模擬實驗人們所需要的信息,從而來幫助人們可以參考對現實世界的問題進行深層次的思考。計算機模擬仿真技術已經被運用于軍事、工程建設、災難救援、城市規(guī)劃和游戲制作、面向對象仿真、定性仿真、智能仿真、分布交互仿真、可視化仿真、多媒體仿真、虛擬現實仿真等方面。如在核領域,未來的核試驗不用核彈而是用計算機仿真模擬來進行。計算機模擬仿

14、真技術作為分析和研究系統(tǒng)運行行為、揭示系統(tǒng)動態(tài)過程和運動規(guī)律的一種重要手段和方法, 隨著系統(tǒng)科學研究的深入、控制理論、計算技術、計算機科學與技術的發(fā)展而形成的一門新興學科。近些年來, 隨著信息處理技術的飛速發(fā)展, 使仿真技術得到更為廣泛的應用和發(fā)展。 </p><p>  1.1.2論文研究的意義</p><p>  在無人機航拍領域方面也有的新的應用,傳統(tǒng)的航拍又稱空中攝影或航空攝影,是

15、指從空中拍攝地球地貌,獲得俯視圖,此圖即為空照圖,航拍的攝像機可以由攝影師控制,也可以自動拍攝或遠程控制,同時對航拍的無人機和氣候等因素都要求很高。而現在可以通過計算機模擬仿真技術來模擬無人機的航拍圖像則具有經濟、安全、可重復和不受氣候、場地、時間限制的優(yōu)勢,靜態(tài)模擬航拍圖像可以根據數據采集生成相應的圖像,在沒用航拍條件的情況下模擬出貼近真實的場景,比如目前人們無法為火星進行航拍,但是德國就通過采集到火星的數據信息,運用模擬航拍技術實現

16、了還原火星真實面貌,比如在軍事領域的運用,在虛擬的戰(zhàn)場環(huán)境中,存在十分復雜的自然景象,如雨、雪、霧、海浪等,這些景象對于虛擬場景的“沉浸感”有很大貢獻,在各種自然景象的模擬仿真中,云的可視化是其中具有挑戰(zhàn)性的研究之一。計算機靜態(tài)模擬無人機航拍圖像其核心就是采用分形技術和計算機圖形學模擬出符合要求的,逼真的和可用的航拍圖像,使得其可以達到替代真實航拍圖的使用,同時可以通過改變軟件的基本參數實現模擬各種不同的天空和地形場景,來達到合乎條件的

17、圖像。由于其重要性和國內的重視,計算機模擬仿真技</p><p>  1.2論文研究的基本內容及思想 </p><p>  1.2.1航拍圖像系統(tǒng)基本內容</p><p>  航拍圖像系統(tǒng)是非常重要的應用,它的目的是通過先進的圖形分形技術結合計算機編程技術來解決虛擬環(huán)境模擬的問題。例如地形分析,氣象分析等,我們可以根據需要來模擬出自己真正需要的場景,然后在模擬的場景

18、下進行分析或部署,比如在四川地震期間可以通過模擬的航拍圖,來進行災難營救部署或評估災難損壞道路的狀況等。所謂模擬,就是采用計算機仿真技術來模擬真實的場景的方法。而靜態(tài)模擬無人機的航拍圖像則主要是采用計算機模擬仿真技術,靜態(tài)模擬大地、海洋、云朵等的航拍圖像。</p><p>  1.2.2航拍圖像系統(tǒng)設計思想</p><p>  航拍圖像系統(tǒng)的核心是分形算法,算法的不同將直接導致模擬的圖像的

19、不同。因此,航拍圖像系統(tǒng)主要特征是要選擇合適的圖形分形算法,這樣才能保證模擬出來的圖像是貼近真實航拍效果的。而整個系統(tǒng)的具體設計則主要表現在如何設計好合適的分形算法上,我們才用先建模,然后在討論采用什么算法,如何著色等,最后選擇導師推薦的隨機中點位移分形算法和嘗試RGB三種顏色的混合。進一步深入后,才討論到如何編程實現,以及采用那種語言來開發(fā),考慮到VB擁有圖形用戶界面(GUI)和快速應用程序開發(fā)(RAD)系統(tǒng),程序員可以輕松的使用VB

20、提供的組件快速建立一個應用程序,所以最后選擇采用。所以前期的設計思想是一個主要的工作過程。</p><p>  綜上所述,靜態(tài)模擬無人機的航拍圖像的基本設計思想就是將要模擬的圖像建模,例如根據云的物理特性或者通過受控的隨機過程來生成云的模型數據包括云的外形,運動和物理屬性的生成。</p><p>  1.3計算機模擬仿真技術的發(fā)展與趨勢</p><p>  計算機技

21、術已經經歷了多年的發(fā)展,已經廣泛的應用于國民經濟和社會生活中。現今計算機技術與仿真技術相結合,從而形成了計算機仿真技術這個新的研究方法。計算機仿真作為分析和研究系統(tǒng)運行行為、探尋系統(tǒng)動態(tài)過程和運動規(guī)律的一種很好的手段和方法, 隨著系統(tǒng)科學研究的深入、控制理論、計算技術、計算機科學與技術的發(fā)展而形成的一門嶄新的學科。近年來, 隨著信息處理技術的飛快發(fā)展, 也使計算機仿真技術得到迅速發(fā)展。本論文從實踐中形象全面地介紹了計算機仿真技術在靜態(tài)模

22、擬無人機航拍圖像的應用,論述了計算機仿真技術的概念、原理、優(yōu)點,簡單介紹了計算機仿真技術在無人機航拍領域的應用。在這半個多世紀里,仿真技術的發(fā)展從簡單到復雜、從理論到實踐、從輔助學科到解決大型工程問題的重要手段。仿真技術在計算機相關技術和理論的支持、交叉、融合下,漸漸的形成了一個交叉科學,成為認識客觀世界的一種重要的方法。它是在計算機圖形學基礎上發(fā)展起來的一種模擬仿真應用技術。</p><p>  據最新的統(tǒng)計表

23、明,計算機模擬仿真技術是當前應用最廣泛的實用技術之一,虛擬現實目前是計算機領域非常熱門的一個詞匯。計算機視景仿真技術是計算機仿真技術的重要分支,是計算機技術、圖形圖像處理與生成技術、多媒體技術、顯示技術等諸多高新技術的綜合運用。計算機圖形學的應用可以說無處不在,計算機動畫和科學計算轉換為可視化成為計算機圖形學最為成功的兩個應用領域。自1984年出現一個以數據庫為核心的計算機仿真軟件系統(tǒng),隨后又出現采用人工智能技術的仿真軟件系統(tǒng)。這個發(fā)展

24、趨勢將使仿真軟件具有更穩(wěn)健、更靈活的功能、面向更廣泛的用戶。當下比較流行的是虛擬現實仿真軟件,比如虛擬現實仿真平臺。</p><p>  第二章 航拍圖像系統(tǒng)概論</p><p><b>  2.1航拍圖像系統(tǒng)</b></p><p>  2.1.1航拍圖像系統(tǒng)簡介</p><p>  航拍圖像系統(tǒng)主要是運用了計算機分

25、形算法進行數學建模,然后通過分形圖形學和配色技術,通過編程掌握程序設計的方法和技巧。使用原理是用計算機完成真實感對象的圖形必須完成基三個本任務:</p><p>  A)用數學方法建立所需的二維場景幾何描述。</p><p>  B)建立數學模型參考,手繪地形并參考隨機中點位移 分形算法。</p><p>  C)計算航拍地形圖根據地形高度遞增來設置合理的顏色模擬真

26、實環(huán)境下的航拍地形圖,具體顏色的取值參考了我國國家地圖的顏色標準。</p><p>  分形用于氣象衛(wèi)星云圖特征和數據壓縮研究云系的形狀,其中的云的形狀就是可以應用到本項目中用于模擬云。</p><p>  通過用分形理論研究事物表面的形態(tài), 比如地形、海洋、云、火焰地貌等形態(tài), 以及研究它們發(fā)展和分布的自然規(guī)律等, 形成新的學科:分形地貌學,它可以逼真地模擬各種各樣的自然界的景象, 例如

27、山地起伏以及海岸線、河流等自然界現象。這個可以用來模擬無人機拍攝的陸地、天空、海洋的景觀。</p><p>  2.1.2航拍圖像系統(tǒng)概念</p><p>  所謂計算機模擬仿真,就是將所研究的對象用計算機仿真技術手段加以模仿的一種活動。而航拍圖像系統(tǒng),可以理解為使用圖形分形技術模擬的圖像,其本質是通過分形算法來模擬特定的場景下的航拍圖像,目的是可以達到逼真的效果。也就是說,靜態(tài)模擬無人機

28、的航拍圖像系統(tǒng)是一種具有模擬無人機航拍效果圖像的計算機系統(tǒng),它利用編寫在其內部的隨機分形算法來實現模擬出不同的變換的航拍圖像。雖然靜態(tài)模擬無人機的航拍圖像系統(tǒng)也是一種及其智能化的計算機程序,但是它不同于傳統(tǒng)的幾何圖形程序,其根本區(qū)別在于靜態(tài)模擬無人機的航拍圖像系統(tǒng)將分形作為幾何對象,首先是破碎的,不規(guī)則的,又可以說他們的特點是極不光滑的,而這些對象現在都可以進行模擬了。從程序設計方法學的角度來看,靜態(tài)模擬無人機的航拍圖像系統(tǒng)更專門、更特

29、殊、能更好的表現出分形對象。傳統(tǒng)的幾何圖形程序則顯得更呆板不能很好的模擬出不規(guī)則的分形對象。</p><p>  2.2航拍圖像系統(tǒng)基本內容</p><p>  航拍圖像系統(tǒng)是計算機模擬仿真技術最重要的應用之一,它的目的是讓電腦在某種程度上幫助人們更好更直觀的獲取類似真實環(huán)境的真實航拍圖像信息,給人們提供解決問題的模擬環(huán)境。例如模擬駕駛飛機飛行,道路分析,山形,河流等等。</p>

30、;<p>  第三章 靜態(tài)模擬無人機的航拍圖像系統(tǒng)設計</p><p>  3.1靜態(tài)模擬無人機的航拍圖像系統(tǒng)概述</p><p>  靜態(tài)模擬無人機的航拍圖像是計算機模擬仿真技術領域中的一個重要的應用,但是要想在該計算機信息處理領域取得有效的發(fā)展,絕不能簡單地把在一些領域中取得成功計算機圖形技術直接移植到靜態(tài)模擬無人機的航拍圖像中,正好相反,應從實際需要出發(fā),選擇合適的,

31、可用的技術來研究計算機圖形技術在該領域中可能發(fā)展的途徑,可以提出新思想、概念、方法和技術來更新產品。</p><p>  本系統(tǒng)操作系統(tǒng)采用Windows 7,開發(fā)平臺Visual Basic 6.0,采用計算機圖形學理論和隨機中點位移分形算法,采用VB編程技術生成逼真的藍天白云、陸地、群山連綿、海洋和湖泊的二維地形航拍圖效果,雖然生成的是一張靜態(tài)圖,但三維空間感很強烈,顏色層次分明、清晰,相近顏色不同顏色深度代

32、表不同的高度。就像從飛機上航拍的一幅精美照片,掌握好分形算法和分形理論,自己完全可以開發(fā)出高質量的逼真的圖像來似乎不是什么難事 。本系統(tǒng)主要實現了模擬隨機生成的藍天白云、陸地、群山連綿、海洋和湖泊的二維地形航拍圖功能。</p><p>  3.2系統(tǒng)實現詳細設計方案</p><p><b>  總體設計方案介紹:</b></p><p>  【

33、1】RGB混合配色設計:首先利用計算機圖形技術和分形技術,采用隨機中點位移算法,使用VB編程技術來繪制出所要求的模擬仿真航拍圖,再對圖像按照不同事物采用不同顏色和不同層次高度采用相近顏色層次加深或淡化進行配色處理,具體的顏色搭配則參考我國國土地圖來搭配顏色可以使得用戶很容易接受。具體RGB混合配色介紹:RGB配色主要是通過對紅、綠、藍三個顏色(RGB)的變化和它們相互之間的混合來得到各種顏色的,RGB即是代表紅、綠、藍三個基本顏色,RG

34、B標準幾乎包括了人類視力能感知的所有顏色。計算R,G,B三個分量就可以使人有顏色的視覺效果,把三種顏色按不同的比例混合就能準確的合成想要的顏色,下面就要考慮色調的搭配了,要使的顏色的搭配既要符合現實中的航拍的顏色,又要和諧,顏色不沖突,容易區(qū)分不同顏色區(qū)域所代表的含義。對上面顏色混合的補充:RGB是從顏色發(fā)光原理來設計,一般說它的顏色混合方法就好像有紅、綠、藍三色燈,當它們的光相互混合的時候,顏色相混,而亮度卻是兩者亮度的總和,越混合亮

35、度越高,即加法混合。本系統(tǒng)采用對圖像按照不同事物采用不同顏色和不同層次高度采用相近顏色層次加深或淡化進行配色處理,將R</p><p>  【2】隨機模擬靜止云圖繪制設計:通過隨機中點位移算法計算出各個點的位置和RGB顏色值,調用初始R,G,B數組,然后再調用繪圖方法在主窗體上面繪制出模擬的靜止云圖,然后使得整個模擬航拍圖能夠像真實航拍的效果。</p><p>  靜止云圖生成算法由下列5

36、個步驟組成:</p><p>  1.設定一個的正方形區(qū)域,為為正整數;</p><p>  2.在區(qū)域4個角賦一個隨機量Rd,,,,;隨機量為區(qū)域周長乘以0到1之間的隨機數。</p><p>  3.在區(qū)域內計算其他點參數;</p><p>  4.求出區(qū)域各點參數的最大值和最小值;</p><p>  5.根據給定

37、云顏色的最大值(最藍)和最小值(最白),繪制區(qū)域每點的顏色</p><p>  【3】隨機模擬地形圖繪制設計:通過隨機中點位移算法計算出各個點的位置和RGB顏色值,調用初始R,G,B數組,然后再調用繪圖方法在主窗體上面繪制出模擬的靜止地形圖。</p><p>  隨機模擬地形圖繪制的方法同靜止云圖相似,唯一不同的地方是在于對初始R,G,B數組的賦值,地形圖顏色類別參考的是我國國家地圖。&l

38、t;/p><p><b>  具體實現步驟:</b></p><p>  最初,四角給出隨機高度值。</p><p>  然后,對鄰近的4點組成的正方形分別取邊中點和中間點,如圖:</p><p>  再對鄰近的4點組成的正方形分別取邊中點和中間點</p><p>  這上面的方法被重復,直到迭代所需

39、數量為止。該為新的點的高度值通過取平均來確定周圍的點,并加上隨機位移于此。而迭代值越大,位移則越小,使得第一次迭代對具有大的影響形狀的地形,但后面的迭代不會產生很大的影響,只產生輕微的變化,這使得航拍圖減少鋸齒和更加圓潤。</p><p>  第四章 靜態(tài)模擬無人機的航拍圖像編碼</p><p><b>  4.1開發(fā)工具</b></p><p&

40、gt;  4.1.1開發(fā)平臺介紹</p><p>  Visual Basic是微軟公司開發(fā)的VB語言編程軟件,它是基于Windows操作系統(tǒng)可視化的編程環(huán)境。由于Visual Basic 6.0它操作簡單實用,所以從它出現在市面以來很受程序員和編程愛好者的熱捧。Visual Basic主要由窗體窗口、工具欄、標題欄、工具箱、屬性窗口、工程窗口、菜單欄、窗體布局窗口等構成。Visual Basic 6.0的組件有

41、很多,比如設計器、編輯器、屬性等開發(fā)常用組件。Visual Basic 6.0同時提供了窗口編輯,可以直接對窗口進行編輯以及預覽。Visual Basic 6.0的工具箱由單選按鈕、圖片框、框架、標簽、定時器、命令按鈕、指針、復選框、文本框、組合框、水平滾動條、列表框、垂直滾動條、目錄列表框、驅動器列表框、圖像控件、形狀控件、文件列表、直線、OLE容器、數據控件構成。</p><p>  Visual Basic

42、是由微軟公司開發(fā)協(xié)助開發(fā)環(huán)境的事件驅動編程語言。從各種標準來說,VB都是世界上使用人數最多的語言,它不僅是盛贊VB的開發(fā)者也是抱怨VB的開發(fā)人員的數量。它起源于BASIC編程語言。VB擁有快速應用程序開發(fā)和圖形用戶界面系統(tǒng),可以輕易的使用RDO、ADO、DAO連接數據庫,也能輕松的創(chuàng)建ActiveX控件。程序員可以使用VB提供的組件迅速建立一個應用程序。</p><p>  通過這些年來的發(fā)展,Visual Ba

43、sic已成為一種專業(yè)化的開發(fā)語言和環(huán)境。用戶可以方便的使用Visual Basic快速創(chuàng)建Windows程序,還可以編寫企業(yè)水平的客戶端和服務器程序甚至是更為強大的數據庫應用程序。</p><p>  4.1.2 開發(fā)語言介紹</p><p>  VB語言和其它語言的最大區(qū)別可能就在于它的簡單、容易上手和方便開發(fā)了,可以算的上是最早的面向對象的程序設計語言了。首先VB的可視化、面向對象以及

44、采用事件驅動方式的結構化高級程序設計語言都成為它變成程序員們的最好的幫手。VB可以用來開發(fā)WINDOWS環(huán)境下的各種應用程序。在Visual Basic環(huán)境下,利用事件驅動的編程機制、方便快捷的可視化設計工具很容易就能夠編寫出自己想要的應用程序。同時VB可以打包成EXE運行軟件,可以直接運行在裝有WINDOWS環(huán)境的機器上,非常方便。而且VB還是非常簡單、易學、效率高的語言。VB使用WINDOWS內部的廣泛應用程序接口函數,使用動態(tài)鏈接

45、庫、對象鏈接和嵌入等技術,可以高效、快速的開發(fā)WINDOWS環(huán)境下功能強大、圖形界面豐富的應用軟件。</p><p>  4.2 靜態(tài)模擬無人機航拍圖像系統(tǒng)編碼設計</p><p>  4.2.1靜態(tài)模擬無人機航拍圖像系統(tǒng)軟件功能介紹</p><p>  本軟件主要以采用隨機中點位移分形算法,使用VB編程技術生成逼真的藍天白云、陸地、群山連綿、海洋和湖泊的二維靜態(tài)模

46、擬航拍圖,以Visual Basic 6.0為開發(fā)平臺,采用VB編程語言實現的。本軟件有主要有4個功能部分組成:</p><p> ?。?)航拍云圖。該模式下完成了隨機模擬出藍天白云的航拍效果圖。</p><p>  (2)航拍地形圖。該模式下完成了隨機模擬出陸地、群山連綿、海洋和湖泊的二維靜態(tài)模擬航拍圖。</p><p> ?。?)修改迭代次數。可以生成各種迭代下

47、的模擬圖像。</p><p> ?。?)系統(tǒng)退出功能的實現</p><p>  軟件分為3個功能部分使得用戶可以更直觀更容易的了解軟件的運行和使用效果,不會產生功能上的歧義和使用上的繁瑣。</p><p>  4.2.2系統(tǒng)界面設計</p><p><b>  圖4-2 主界面</b></p><p

48、>  4.2.3軟件設計關鍵代碼</p><p>  Const ITERATIONS = 9: -- 增加該值增加地圖的大小</p><p>  Const ROW = (2 ^ ITERATIONS) + 1 --地圖繪制時的寬度。用于計算。</p><p>  Const SLOPE = 15 -- 此值會影響“鋸齒”地形</p>

49、<p>  Dim Heights(ROW - 1, ROW - 1) As Single --高度值的數組</p><p>  Dim R, G, B, Bound --數組變量</p><p>  --SetPixelV API調用比PSET快</p><p>  Private Declare Function SetPixelV Lib &

50、quot;gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long</p><p>  Private Sub cloud_Click()</p><p>  Dim Seed As Single --種子值的隨機數發(fā)生器</p><

51、p>  --這個數組定義了邊界為不同的顏色</p><p>  Bound = Array(-10, 0, 15, 25, 30, 35, 40, 45)</p><p>  -- 這些數組定義地形顏色的高度界限.</p><p>  R = Array(0, 32, 64, 96, 128, 159, 191, 223, 255)</p>&l

52、t;p>  G = Array(0, 32, 64, 96, 128, 159, 191, 223, 255)</p><p>  B = Array(255, 255, 255, 255, 255, 255, 255, 255, 255)</p><p>  -- 改變這些值來創(chuàng)建不同的效果。對于一個更明確海岸線,使前兩個綁定的值相同。</p><p>  

53、Seed = Timer -- 生成基于所述系統(tǒng)定時器地圖的種子</p><p>  Randomize Seed --它應該可以通過在這里使用他們的種子值來獲得以前的地圖</p><p>  Caption = "Terrain Generator Seed = " & Seed</p><p>  Generate_Heigh

54、ts</p><p><b>  Draw</b></p><p><b>  End Sub</b></p><p>  Private Sub exit_Click()</p><p>  Unload AerialFrame</p><p><b>  End

55、 Sub</b></p><p>  Private Sub Form_Load()</p><p>  Dim Seed As Single -- 種子值的隨機數發(fā)生器</p><p>  --這個數組定義了邊界為不同的顏色</p><p>  Bound = Array(-10, 0, 15, 25, 30, 35, 40,

56、45)</p><p>  --這些數組定義地形顏色的高度界限.</p><p>  R = Array(20, 23, 15, 20, 136, 145, 91, 88, 142)</p><p>  G = Array(14, 15, 85, 113, 136, 88, 55, 88, 142)</p><p>  B = Array(1

57、71, 199, 9, 11, 56, 41, 26, 88, 142)</p><p>  --改變這些值來創(chuàng)建不同的效果。對于一個更明確海岸線,使前兩個綁定的值相同</p><p>  Seed = Timer --生成基于所述系統(tǒng)定時器地圖的種子</p><p>  Randomize Seed --它應該可以通過在這里使用他們的種子值來獲得以前的地圖<

58、/p><p>  Caption = "Terrain Generator Seed = " & Seed</p><p><b>  End Sub</b></p><p>  Private Sub Form_Click()</p><p>  Generate_Heights</

59、p><p><b>  Draw</b></p><p><b>  End Sub</b></p><p>  Private Sub Generate_Heights()</p><p>  --此生成高度值被安置在高地數組中。該高度限定,當在地圖上繪制其中顏色被顯示出來的方法是很難解釋的,生成的過

60、程是最好的描述通過下面的圖表和說明來理解:</p><p><b>  初始狀態(tài):</b></p><p><b>  i = 0狀態(tài):</b></p><p><b>  i = 1狀態(tài):</b></p><p>  最初,四角給出隨機高度值。然后,對于那些半路之間的點的創(chuàng)建

61、迭代高度值點在最后一次迭代,并在四個值的中間點。因此,當i = 0時,圖中的“2”代表所添加的高度值,和當i = 1 ,圖中的“3”代表補充的高度值。這上面的方法被重復,直到迭代所需數量為止。新的點的高度值通過取平均來確定周圍的點,并加上隨機位移來得到。將i的值越大,位移越小,使得第一次迭代對具有大的影響形狀的地形,但后面的迭代不會有大的影響,只產生輕微的變化地形的現狀這使得地形少Print 鋸齒和更加圓潤使用這種方法。</p&g

62、t;<p>  Dim i As Long --迭代計數器</p><p>  Dim x As Long --協(xié)調</p><p>  Dim y As Long --計數器</p><p>  Dim Step As Long --用于計算在主循環(huán)</p><p>  Dim num

63、b As Integer</p><p>  Erase Heights</p><p>  --Inistialise在每個拐角處的高度</p><p>  Heights(0, 0) = Rnd * -10</p><p>  Heights(0, ROW - 1) = Rnd * -10</p><p> 

64、 Heights(ROW - 1, 0) = Rnd * -10</p><p>  Heights(ROW - 1, ROW - 1) = Rnd * -10 </p><p>  --主迭代循環(huán)。為解釋見上面。</p><p>  numb = num.Text</p><p>  If numb < 1 Or numb &

65、gt; 9 Then MsgBox "親,迭代次數超出范圍嘍!": GoTo 20</p><p>  For i = 0 To numb – 1</p><p>  Step = (ROW - 1) / (2 ^ (i + 1))</p><p>  For y = 0 To ROW - 1 Step Step</p><p

66、>  For x = 0 To ROW - 1 Step Step</p><p>  If (y / Step) Mod 2 = 0 Then</p><p>  If Heights(x, y) = 0 Then</p><p>  Heights(x, y) = (Heights(x - Step, y) + Heights(x + Step, y))

67、/ 2 + (Rnd * SLOPE - (SLOPE / 2)) * ((ITERATIONS - i) / (i + 1))</p><p><b>  End If</b></p><p><b>  Else</b></p><p>  If (x / Step) Mod 2 = 0 Then</p>

68、<p>  Heights(x, y) = (Heights(x, y - Step) + Heights(x, y + Step)) / 2 + (Rnd * SLOPE - (SLOPE / 2)) * ((ITERATIONS - i) / (i + 1))</p><p><b>  Else</b></p><p>  Heights(x, y)

69、 = (Heights(x - Step, y - Step) + Heights(x - Step, y + Step) + Heights(x + Step, y - Step) + Heights(x + Step, y + Step)) / 4 + (Rnd * SLOPE - (SLOPE / 2)) * ((ITERATIONS - i) / (i + 1))</p><p><b>  E

70、nd If</b></p><p><b>  End If</b></p><p><b>  Next</b></p><p><b>  Next</b></p><p><b>  Next</b></p><p&g

71、t;<b>  20</b></p><p><b>  End Sub</b></p><p>  Private Sub Draw()</p><p>  --繪制地形到基于高度圖的值的形式。該顯示的顏色為對應于高度圖的值的像素是基于哪兩個高度界限的高度值之間。該在像素顯示的實際顏色來自之間的漸變邊界顏色,從而使地形融

72、合在一起,看起來更現實的。高度圖還可以用于生成3D地形。</p><p>  Dim Color As Long</p><p>  Cls --繪制前清除表單</p><p>  --通過所有點的高度重復的地圖</p><p>  For y = 0 To ROW - 1</p><p>  For x = 0 To

73、 ROW - 1</p><p>  --檢查高度值對每個邊界上看到它位于</p><p>  For i = 0 To UBound(Bound)</p><p>  If Heights(x, y) <= Bound(i) Then Exit For</p><p><b>  Next</b></p&g

74、t;<p>  If i = UBound(Bound) + 1 Then</p><p>  Color = RGB(R(i), G(i), B(i))</p><p>  ElseIf i = 0 Then</p><p>  Color = RGB(R(0), G(0), B(0))</p><p><b>  

75、Else</b></p><p>  --計算兩個邊界顏色之間的梯度</p><p>  Color = RGB(R(i) + (R(i + 1) - R(i)) * ((Heights(x, y) - Bound(i - 1)) / (Bound(i) - Bound(i - 1))), G(i) + (G(i + 1) - G(i)) * ((Heights(x, y) -

76、 Bound(i - 1)) / (Bound(i) - Bound(i - 1))), B(i) + (B(i + 1) - B(i)) * ((Heights(x, y) - Bound(i - 1)) / (Bound(i) - Bound(i - 1))))</p><p><b>  End If</b></p><p>  SetPixelV hdc, S

77、caleWidth \ 2 - ROW \ 2 + x, ScaleHeight \ 2 - ROW \ 2 + y, Color</p><p><b>  Next</b></p><p><b>  Next</b></p><p><b>  End Sub</b></p>&l

78、t;p>  Private Sub Terrain_Click()</p><p>  Dim Seed As Single --種子值的隨機數發(fā)生器</p><p>  --這個數組定義了邊界為不同的顏色</p><p>  Bound = Array(-10, 0, 15, 25, 30, 35, 40, 45)</p><p> 

79、 --這些數組定義地形顏色的高度界限</p><p>  R = Array(20, 23, 15, 20, 136, 145, 91, 88, 142)</p><p>  G = Array(14, 15, 85, 113, 136, 88, 55, 88, 142)</p><p>  B = Array(171, 199, 9, 11, 56, 41, 26

80、, 88, 142)</p><p>  --改變這些值來創(chuàng)建不同的效果。對于一個更明確海岸線,使前兩個綁定的值相同。如果您創(chuàng)建更多的色彩邊界,地形可以變得更細致</p><p>  Seed = Timer -- 生成基于所述系統(tǒng)定時器地圖的種子</p><p>  Randomize Seed --它應該可以通過在這里使用他們的種子值來獲得以前的地圖<

81、/p><p>  Caption = "Terrain Generator Seed = " & Seed</p><p>  Generate_Heights</p><p><b>  Draw</b></p><p><b>  End Sub</b></p

82、><p>  第五章 軟件實現效果圖</p><p>  本軟件通過VB語言操作完成,在window系統(tǒng)中運行正常,具體的效果的實現如下面所述。</p><p>  圖5-1 航拍云圖運行界面(1)</p><p>  點擊航拍云圖按鈕,調用cloud_Click()方法,默認迭代9次獲取每個點的坐標和顏色值,然后調用SetPixelV來畫圖

83、,在軟件中部生成航拍云圖。</p><p>  圖5-2 航拍地形圖運行界面(2)</p><p>  點擊航拍地形圖按鈕,調用Terrain_Click()方法,默認迭代9次獲取每個點的坐標和顏色值,然后調用SetPixelV來畫圖,在軟件中部生成航拍地形圖。</p><p>  圖5-2 修改迭代次數航拍圖運行界面(2)</p><p&g

84、t;  修改迭代次數,改為迭代7次,點擊航拍地形圖按鈕,調用Terrain_Click()方法,迭代7次獲取每個點的坐標和顏色值,然后調用SetPixelV來畫圖,在軟件中部生成航拍地形圖。由于沒有迭代完全,所以很多點沒有被算出來并畫出來,這樣可以方便用戶了解本軟件的實現方法和過程。</p><p><b>  結束語</b></p><p>  畢業(yè)論文從下發(fā)任務書

85、到現在已經過去幾個月了,課題已經做好了,論文也結束,馬上就要答辯了?,F在是快要和老師同學們告別的畢業(yè)時間了。記得剛開始選課題時,老師的十個課題我們都不曾接觸過,都沒有聽說過,感覺心里特別沒底。老師給的課題領域可以說是完全沒有接觸過。在熟悉課題到課題設計的過程中遇到了很多問題,尤其是在理解分形技術的應用時,都沒有搞明白是干什么的,感覺有頭大的感受,全部都是算法,以前我們自己編寫程序時,都沒有去關注過代碼中的算法的實現,通過這次畢業(yè)設計后我

86、終于理解了算法的重要性了,可以說這次的課題中主要就是對與分形算法的了解和實現,前面沒有理解透徹時,都感覺無從下手,特別是看了計算機圖形學后感覺自己真的是沒有理解好。雖然在沒有搞明白的情況下,開始了課題設計,中間也有很多的問題出現,但最終還是在老師的指導下和上網找高手詢問以及自己努力學習中完成了畢業(yè)設計。</p><p>  在本課題設計完成之后,我對計算機模擬仿真技術已經有了一定的了解。通過這次對靜態(tài)模擬無人機的

87、航拍圖像設計與開發(fā)的畢業(yè)設計中,我學到了很多在課堂上學不到的新的知識,使我知道了什么是分形,分形的理論和概念,以及如何將研究好的分形算法與自己的編程技術相互結合起來,做出符合自己設計思想的應用軟件,這是很有成就感的事情。在系統(tǒng)的對分形算法的研究后則可以自己做一些有意思的分形小游戲,感覺特別棒,在實踐中學習到了新的知識。</p><p><b>  致 謝</b></p>&l

88、t;p>  來到三江學院已經2兩年了,大學時光已經快過去了,在此我想對我的學校,我的父母、朋友們,我的老師和同學們表達真誠的謝意。感謝母校提供給我大學兩年很好的學習環(huán)境;感謝三江學院老師們給我在大學兩年來的培養(yǎng)和教育,讓我能學習新的知識和提升自我能力;感謝**輔導員對我的栽培和多年來的關心鼓勵。大學的一幕幕都在我腦海中留下了深刻的印象,認真負責有不乏幽默的老師們,認真聽課,在做筆記的學生們,考試前圖書館爆滿的情形,深夜看書討論的朋

89、友圈,生活中同學之間互相幫助鼓勵的等等,都值得留念。</p><p>  這次畢業(yè)論文設計是在我的工作期間完成的,由于時間會有沖突,也出現了一些問題,所幸在得到了指導老師和同學的幫助下,都克服了,尤其是我論文指導老師**對我的課題設計中給出了寶貴的建議和修改方案,而且遇到問題時,*老師能主動聯系我們詢問我們有沒有問題阻塞。在這期間,*老師認真的治學態(tài)度、豐富的項目經驗、精益求精的工作態(tài)度都是我們應該學習的。**老

90、師雖然手頭事情很多,但在在我做畢業(yè)設計的時候,從選題至查閱資料、做開題報告、課題設計中論文的修改,以及后期論文格式調整等各個環(huán)節(jié)中都給予了我悉心的指導。</p><p>  同時,這個畢業(yè)論文編寫也得到了其他朋友和我公司開發(fā)同事的熱情幫助。感謝在畢業(yè)設計期間和我親切合作的同學以及曾經在各方面給予我?guī)椭耐瑢W們。在此,我再一次真誠的向幫助過我的老師、同學和同事表示真摯的感謝!</p><p>

91、;<b>  參考文獻</b></p><p>  [1] 龔琳,顧大權.氣象景象的模擬[J].計算機時代,2005,05</p><p>  [2]肖海蓉,郭天印,任民宏.基于OpenGL和IFS分形算法的山脈模擬[J].太原理工大學學報,2009,05</p><p>  [3] 龔琳,顧大權.三維云場景的模擬[J].解放軍理工大學學報,2

92、006 ,(7)5:496-500</p><p>  [4] 顧大權.運動云彩的模擬算法[J].氣象科技,2006,(34)2:215-219</p><p>  [5] 顧大權.建立天空場景的模擬算法[J].氣象科技,2007,(35)2:292-296</p><p>  [6] 龔琳,顧大權. 基于分形的三維動態(tài)自然場景仿真[J].測繪科學,2008.(33

93、)4</p><p>  [7] 呂曉宇.航空相機性能測試模擬仿真技術研究[J].長春理工大學碩士論文,2008,04</p><p>  [8] 鄭云棟.高壓加氫裂化裝置仿真培訓系統(tǒng)開發(fā)[J].青島科技大學碩士論文,2009,06</p><p>  [9] 趙大偉,肖周芳,張艷. 從掃雷游戲淺談一些算法問題[J].科技信息,2008,10</p>

94、<p>  [10] 321. 123[J].大學生論文聯合比對庫,2013,06</p><p>  [11] 張恒局論文正文[J].大學生論文聯合比對庫,2013,04</p><p>  [12] 于偉泳. 小型圖書借閱管理軟件設計[J].大學生論文聯合比對庫, 2013,06</p><p>  [13] DAW. DAWD[J]. 大學生論文聯合

95、比對庫, 2013,06</p><p>  [14] 陸維嘉.基于VB的“極限飛行”游戲的設計與實現[J].大學生論文聯合比對庫</p><p>  [15] Visual Basic_互動百科[J].網絡,2010,06</p><p>  [16] 劉瑩,胡敏,余桂英,李小兵,劉曉林.分形理論及其應用[J].江西科學,2006,04</p>&l

96、t;p>  [17] 計算機圖書館管理系統(tǒng)畢業(yè)論文-docin.com豆丁網[J].互聯網文檔資源,2012,08</p><p>  [18] 孫新.黑龍江科技學院黨務信息管理平臺開發(fā)與研究[J].吉林大學碩士論文,2010,06</p><p>  [19] vb 論文-百度文庫[J]. 互聯網文檔資源,2012,11</p><p>  [20] 基于C

97、語言的掃雷游戲開發(fā) -百度文庫[J].互聯網文檔資源,2012,09</p><p>  [21] 于劍.樓盤銷售管理系統(tǒng)的設計與實現[J].吉林大學碩士論文,2008,10</p><p>  [22] 李廷.電信人事管理系統(tǒng)設計[J].電子科技大學碩士論文,2009,09</p><p>  [23] 魏東.臂橋架變幅系統(tǒng)設計準則和方法的研究[J].武漢理工大學

溫馨提示

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

評論

0/150

提交評論