999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向森林動態生長過程的場景系統設計和實現

2008-12-31 00:00:00孫思昂董天陽
計算機應用研究 2008年9期

摘 要:植物的模擬一直是計算機圖形學領域研究的熱點問題之一。近年來,國內外的研究人員在提高植物建模的精細度方面開展了大量研究,但是針對大規模植物場景建模的體系結構設計問題,尤其是支持動態生長變化的場景體系結構設計問題的研究還比較少見。針對森林動態生長過程場景系統的仿真應用,提出了一個全新的森林場景架構設計方案,采用了模塊化與層次化相結合的思想構建森林場景系統。該系統不僅支持傳統方法不能解決的用戶動態交互(修改場景實體、漫游)的需求,而且具有良好的維護性和擴展性。

關鍵詞:動態生長; 用戶動態交互; 層次化; 模塊化

中圖分類號:TP391.41 文獻標志碼:A

文章編號:10013695(2008)09287203

Design and implementation of dynamicgrowthforest scene simulation system framework

FAN Jing, SUN Siang, DONG Tianyang

(College of Computer Software Engineering, Zhejiang University of Technology, Hangzhou 310032, China)

Abstract:The simulation of plants had been one of the research hotspots in computer graphics area. While great efforts had been made on how to improve the accuracy of plants modeling recently, little research had been published on the design of overall architecture of bigscale plants scene, especially which supports the dynamic growth effect of plants. This paper proposed a completely new framework which adopted the combination of modularization and levelabstraction abstractions of different levels on how to design a forest scene oriented to the above issue.The systemnot only supports the dynamic userinteractive demands such as runtime modification of scene objects and the user traversing at interactive frame rates, but also has good maintainability and extensibility.

Key words:dynamic growth effect; dynamic userinteractive demand; levelabstraction; modularization

0 引言

傳統以森林場景為典型應用的真實感植物生態系統在建模與渲染時側重于場景的視覺效果。通過在高端計算機(如Calgary大學的計算機科學系采用的195 MHz R10000 8處理器的Silicon Graphics Onyx,以及768 MB內存[1])上采用各種圖形建模技術、渲染技術和細節簡化技術可以實現大規模生態系統的模擬仿真。構建一個生態模擬系統的典型過程包括如下步驟 [1]:

a)編輯地形[2,3];

b)設定種群密度[4,5];

c)植物建模[6~8];

d)使用相似化實例技術[9];

e)渲染[9~11]。

構建生態模擬系統采用的傳統方法是流水線(pipeline)方法,可以對不同階段開發相應的建模工具。但是用這樣的方法構建起來的場景存在的問題有:(a)場景是靜態的。一旦場景建立好,用戶便不能對場景中的某個部分作任何修改;場景不會隨時間的變化展現出自然變化過程。由于大規模的實例化,用戶的實時漫游要求也很難得到滿足。(b)系統耦合度高。由于不同過程采用不同建模工具設計,沒有統一的接口,導致一旦某個工具的接口改變,整個系統可能需重新設計。

鑒于此,本文提出了一個面向森林動態生長過程的森林場景的體系結構。該體系結構采用了模塊化與層次化結合的思想,使得場景的各個組成部分支持獨立的用戶修改和自然過程動態變化(如樹木的長大、變粗等),系統具有很好的可維護性和可擴展性。

1 總體架構設計

層次化場景設計使得整個仿真系統有一個清晰明確的結構,各個層次之間可以合理地屏蔽細節。針對每個層次可以進行獨立的模塊化分析和開發,以及數據的封裝和擴展[8]。以易于擴充和動態修改為原則,本文將森林場景從下至上分為四個主層次以及一個輔層次進行設計。四個主層次分別為模型層、紋理層、分布層、渲染層;一個輔層次包含為了體現動態效果及樹木模型多樣性效果而設計的幾個輔助函數:時間函數、固定范圍隨機函數等。層次與層次之間采用統一的接口進行通信,屏蔽了不同層次的實現細節;同一層次內部分成不同模塊設計,不同模塊之間高內聚,低耦合,使得系統具有良好的可擴展性和可維護性;每個模塊內部按照繼承機制設計,通過多態機制封裝不同的算法。體系層次結構如圖1所示。

面向森林動態生長過程的森林場景系統在模型層中設置了三個模塊,即地形模型、樹木模型和天空模型。它們分別由各自獨立的算法和源數據產生。這三個模型模塊是整個森林場景的基本構造單元。由于模型層內的各個模塊完全獨立,當系統進行擴充時,可在不修改現有模塊的基礎上添加自定義模塊,即流水模型、天氣效果模型等。紋理層負責對各個模型層的對象添加紋理。對地形的處理是通過導入描述地貌信息的紋理數據,同時對局部特征進行細節紋理調制;對樹木的處理是結合特定樹種的文法導入綁定特定的樹皮、樹葉、花及果實的紋理數據;通過輔助層的時間函數和天空信息的紋理單元共同完成天空模型的建立。分布層的功能是確定各個建立好的模型的位置關系。本文目前實現的系統中主要模型為地形、天空及森林三個模塊,因此需要地形數據(包括各個點的高度、溫度、濕度、有機物含量等)和天空高度,以及樹木在地形上的分布函數。渲染層根據視點位置對所有模型作剔除和簡化處理,然后調用繪制函數將所有模型一并渲染出來,最終生成虛擬的森林場景。

2 功能接口設計

按照邏輯功能,面向森林動態生長過程的森林場景系統可以劃分為六個模塊。各部分功能接口如圖2所示。

圖中實線箭頭代表系統外部用戶指令流程線;虛線箭頭代表系統內部數據控制流程線。純色背景的矩形表示直接傳達和反映用戶需求的一級功能部件;網格背景的矩形表示將用戶指令翻譯為系統指令并解釋執行的二級功能部件。用戶接口控制器是最主要的控制單元,它負責將用戶的指令解釋為不同系統指令傳達給負責不同功能的系統二級部件。各個二級功能部件的上層接口都是用戶接口控制器,而下層接口隨著功能的不同而不同。二級功能部件的設計如下:

a)紋理管理器。紋理是決定3D場景真實感的關鍵因素。紋理管理器的功能是控制紋理的載入、生成、實時更新、壓縮以及多層紋理混合。它的上層接口為用戶接口控制器,可根據用戶指令導入不同場景和主題的紋理數據;它的下層接口為數據庫接口,從紋理數據庫中搜索并讀入相應的紋理數據,生成相應的紋理數組,提供給圖形渲染器。

b)數據管理器。數據管理器的功能是提供各模型建模所需的數據,如樹種的屬性數據、地形高程DEM數據,以及系統窗口的顯示屬性(如長、寬、像素格式、距離單位等)。它的上層接口為用戶接口控制器,可根據用戶的指令導入模型的不同數據(如用戶選擇不同的樹種、不同的地形文件等);它的下層接口為模型數據庫接口,從模型數據庫中搜索并讀入相應的模型數據,提供給圖形渲染器。

c)時鐘管理器。虛擬場景中所有的對象都是通過時間觸發來作出相應改變的,如樹木的生長、天空云彩的運動,以及季節的變化。因此,由時鐘管理器負責各部分的時鐘同步及時間觸發功能。它的上層接口為用戶接口控制器,用戶可以在任意時刻暫停,啟動時鐘,或更改時鐘周期;它的下層接口為圖形渲染器,圖形渲染器根據時鐘來選擇相應的渲染數據。

d)視體管理器。虛擬場景的重要功能之一是用戶沉浸感,即漫游。漫游的本質即是用戶視點的變化。本系統將視點抽象為攝影機模型,通過運動模擬器控制的攝影機模型的移動形式(如步行、飛翔、旋轉等)。

當一個場景中存在著大量的物體,且每個物體的幾何拓撲結構又很復雜時,就必須采取適當的簡化技術(如LOD技術)來提高幀速率,以滿足用戶實時漫游的要求。本系統將LOD簡化算法封裝在視景剪裁器模型中。由當前攝影機的位置、角度計算出投影轉換的視景體的大小,對視景體可見區域外的元素不提交渲染管線繪制。

視體管理器的上層接口為用戶接口控制器,用戶可以通過其選擇漫游方式;下層接口為運動模擬器和視景剪裁器,將保存的視點信息和視景可見區信息傳遞給圖像渲染器;由渲染器采用相應的算法實現不同漫游形式下可見區域的渲染。

圖像渲染器是系統的核心部件。它負責接收數據管理器發送的模型數據和紋理管理器發送的紋理數組,根據時鐘管理器和視體管理器發送的時間和視點位置參數,選擇相應的模型簡化渲染算法渲染整個場景。

3 實現方法

本文采用MFC+OpenGL的方式,將上述功能模塊分別設計為相應的類實現。出于可擴展性及動態交互性的考慮,模型的構建采用了統一的模式設計:先定義內部接口和外部接口,然后將接口提取出來設計抽象父類,再采用繼承機制設計子類。不同的子類使用不同的算法實現父類的抽象方法。

每當需要對某一個部分進行擴充時(如增加新的樹種),則只需要繼承父類產生一個新的子類,用不同的算法實現父類的抽象接口(drawStem()、drawLeaf()、drawFlower()、drawFruit()、draw())即可,已設計實現的子類不必作任何改動。每當場景需要產生具體的子類實例時,只需用父類的指針指向不同的子類實例。

當用戶的需求在運行時發生改變,如更換模擬的樹種,或更換地形的生成算法,只需通過C++的RTTI機制刪除父類指針所指的當前子類實例,指向新的子類實例即可。

關于樹木、地形、天空模型的具體設計如圖 3~5所示。

4 結束語

圖 6~8是本系統在測試平臺上的顯示效果。測試數據及平臺配置分別如表 1和 2所示。其中所有測試數據都是在系統的運行時刻通過用戶接口改變的。本系統可以達到畫面幀率20 fps左右,基本滿足交互式森林動態生長模擬的要求。

表1 平臺配置表

硬件配置

CPUP4 3.06 GHz

顯卡集成Inter82865G

內存512 MB

顯存8 MB(從內存中劃出)

硬盤80 GB

本文面向森林動態生長過程的場景系統仿真,提出了一個全新的森林場景架構設計方案,采用了模塊化與層次化相結合的思想構建森林場景系統,使得系統具有較好的交互性、可擴展性和可維護性。本文今后的工作有以下幾個方面:a)增加自然景觀特征,如草地、野花等;b)提高樹木仿真的真實度,如用曲線模擬彎曲的枝條以及枝條的隨風擺動等;c)增加樹木與樹木之間以及樹木與環境之間的交互功能;d)改進LOD算法,進一步提高大規模樹木模擬的效率。

參考文獻:

[1]DEUSSEN O, HANRAHAN P, LINTERMANN B, et al. Realistic modeling and rendering of plant ecosystems[C]//Proc of the 25th Annual Conference on Computer Graphics and Interactive Techniques. 1998:275286.

[2]MUSGRAVE F K, KOLB C E, MACE R S. The synthesis and rendering of eroded fractal terrains[J].Computer Graphics,1989,23(3):4134.

[3]DORSEY J,PEDERSEN H H K, HANRAHAN P. Flow and changes in appearance[C]//Proc of Conference on SIGGRAPH’96.1996:411420.

[4]ARMSTRONG R A. A comparison of indexbased and pixelbased neighborhood simulations of forest growth[J].Ecology,1993,74(6):17071712.

[5]GREEN D G. Modelling plants in landscapes[M]//MICHALEWICZ M T.Plants to ecosystemsadvances in computational life sciences I. Melbourne: CSIRO Publishing,1997:8596.

[6]PRUSINKIEWICZ P. Visual models of morphogenesis[J].Artificial Life, 1994,1(1/2):3774. 

[7]PHARR M, KOLB C, GERSHBEIN R,et al. Rendering complex scenes with memorycoherent ray tracing[C]//Proc of Conference on SIGGRAPH’97. 1997:101108.

[8]余青. 面向虛擬森林的多場景引擎設計[D]. 杭州:浙江工業大學,2006:2860.

[9]WAN S J, WONG S K M, PRUSINKIEWICZ P. An algorithm for multidimensional data clustering[J].ACM Trans on Math Software,1988,14(2):135162.

[10]SNYDER J M, BARR A H. Ray tracing complex models containing surface tessellations[J].Computer Graphics,1987,21(4):119128.

[11]SOKAL R R, ROHLF F J. Biometry:the principles and practice of statistics in biological research[M]. 3rd ed. New York: W. H. Freeman,1995.

主站蜘蛛池模板: 好紧好深好大乳无码中文字幕| 黄色网址免费在线| 精品视频91| 免费无码在线观看| 亚洲欧美激情小说另类| 成人亚洲天堂| 伊人久久久久久久久久| 亚洲自偷自拍另类小说| AV无码无在线观看免费| 国产欧美日韩18| 人妻丰满熟妇av五码区| 91青青草视频| 国产剧情国内精品原创| 色噜噜在线观看| 综合亚洲色图| 免费国产好深啊好涨好硬视频| 91精品国产自产91精品资源| 久久婷婷国产综合尤物精品| 日本一区二区三区精品国产| 激情综合五月网| 国产精品部在线观看| 在线视频一区二区三区不卡| 亚洲欧美日韩综合二区三区| 国产在线91在线电影| 欧美午夜视频| 久久综合色天堂av| 亚洲国产日韩在线观看| 国产欧美日韩精品第二区| 三级欧美在线| 又大又硬又爽免费视频| 毛片基地美国正在播放亚洲| jizz在线免费播放| 国产人前露出系列视频| 国产精品久久久久无码网站| 国产三级毛片| 亚洲欧洲免费视频| 99热这里都是国产精品| 美女被操91视频| 中文字幕亚洲精品2页| 国产情精品嫩草影院88av| 欧美在线中文字幕| 精品福利视频网| 欧美在线伊人| 亚洲无码一区在线观看| 欧美一道本| 特级毛片免费视频| 久久99热这里只有精品免费看| 国产99精品视频| 亚洲天堂久久| 久久久久88色偷偷| 99国产在线视频| 亚洲欧美人成电影在线观看| 蜜桃视频一区二区| 亚洲妓女综合网995久久| 亚洲成a人片| 99尹人香蕉国产免费天天拍| 国产成人无码久久久久毛片| 一级香蕉视频在线观看| 精品三级在线| 在线国产毛片| 中文精品久久久久国产网址 | 无码在线激情片| 91久久精品日日躁夜夜躁欧美| 99久视频| 日本不卡在线视频| 亚洲第一成人在线| 亚欧乱色视频网站大全| 国产簧片免费在线播放| 国产区在线观看视频| 97se亚洲综合在线韩国专区福利| 免费无码网站| 亚洲日韩Av中文字幕无码| 99热这里只有精品免费| A级全黄试看30分钟小视频| 国产精品亚洲综合久久小说| 麻豆国产在线不卡一区二区| 午夜福利网址| 欧美高清国产| 一区二区三区四区日韩| 99久久人妻精品免费二区| 国模视频一区二区| 亚洲欧美人成电影在线观看|