国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法

      文檔序號:6368091閱讀:219來源:國知局
      專利名稱:一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機虛擬仿真技術(shù),尤其是一種大規(guī)模森林仿真的生長模型的調(diào)度方法。
      背景技術(shù)
      計算機虛擬仿真技術(shù)改變了傳統(tǒng)的林業(yè)經(jīng)營管理模式,使人們能夠通過計算機來預(yù)測樹木生長狀況。根據(jù)特定的條件動態(tài)模擬森林場景的變化,可以使林業(yè)管理決策者能夠做出更科學(xué)的經(jīng)營管理決策。但是,對于大規(guī)模森林場景的模擬仿真,其場景數(shù)據(jù)量非常巨大(包括樹木信息數(shù)據(jù),地形數(shù)據(jù)等)。例如對5km*5km區(qū)域內(nèi)的樹木進行生長仿真,植物生長模型計算所需要的樹木信息大概在I. 6-2G的數(shù)據(jù)量,場景繪制常使用LOD技術(shù),對于距離視點較近的地方采用精細的三維模型進行繪制,較遠處采用簡化模型或利用 Billboard技術(shù)使用紋理貼圖,所需要的內(nèi)存量大致為2G左右的數(shù)據(jù)量。如果直接將這些數(shù)據(jù)調(diào)入計算機中進行生長模型計算和仿真繪制,以目前的硬件性能將無法實現(xiàn)植物生長過程的快速仿真。因此,在進行森林場景模擬仿真之前需要對原始的場景數(shù)據(jù)進行預(yù)先處理,在仿真過程中采用合理的調(diào)度策略對生長模型計算進行調(diào)度和優(yōu)化,從而使得大規(guī)模森林場景的仿真能夠更加快速。

      發(fā)明內(nèi)容
      為了克服已有森林場景模擬仿真的實時性較差、計算過程較長、場景可視化較不流暢的不足,本發(fā)明提供一種實時性良好、減少計算過程的時間、場景可視化較流暢的面向大規(guī)模森林仿真的生長模型的調(diào)度方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法,所述調(diào)度方法包括以下步驟I)按照仿真目標獲取大規(guī)模森林場景的仿真數(shù)據(jù),對仿真數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進行初始化,不包含樹木信息的場景信息數(shù)據(jù)采用四叉樹的方式進行存儲;樹木信息數(shù)據(jù)采用內(nèi)存池技術(shù)進行存儲;2)進行大規(guī)模森林場景進行樹木生長模型計算時,以場景分塊為單位,遍歷所有場景分塊,并對每個場景分塊內(nèi)的樹木生長計算,樹木生長計算的具體步驟如下A.在場景中確定當前要計算樹木,并根據(jù)當前計算樹木的屬性計算樹木的影響圈范圍,然后,根據(jù)影響圈范圍,計算相關(guān)的仿真參數(shù),并通過遍歷整個場景樹木尋找與當前計算樹木相關(guān)的樹木;B.再得到相關(guān)樹木之后,需要將這些樹木的屬性信息數(shù)據(jù)全部調(diào)度到內(nèi)存中,采用森林生長仿真的調(diào)度策略對生長計算過程中的內(nèi)外存數(shù)據(jù)進行調(diào)度;C.生長模型求解當前計算所需要的數(shù)據(jù)全部調(diào)入內(nèi)存中之后,對生長方程的求解,計算出最后的結(jié)果;3)根據(jù)大規(guī)模森林場景中樹木生長模型計算結(jié)果,進行大規(guī)模森林場景的可視化,并保存大規(guī)模森林場景中樹木生長模型的計算結(jié)果。進一步,所述步驟B中,所述森林生長仿真的調(diào)度策略包括繪制線程和調(diào)度線程;當用戶視點發(fā)生變化時,繪制線程根據(jù)當前視點計算出當前的可見區(qū)域,同時對內(nèi)存中的場景數(shù)據(jù)進行判斷,確認場景重新繪制所需要的數(shù)據(jù)是否已經(jīng)在內(nèi)存中,如果是則直接進行場景的繪制并向數(shù)據(jù)預(yù)取線程發(fā)送視點更新消息;如果當前需要繪制的場景不在內(nèi)存中,繪制線程則需要根據(jù)當前視點的位置、當前視點的方向等視點信息對可見區(qū)域內(nèi)進行計算;在計算完成后,繪制線程掛起并向數(shù)據(jù)調(diào)度發(fā)送數(shù)據(jù)請求消息,由數(shù)據(jù)調(diào)度線程從外存中調(diào)入場景數(shù)據(jù)后在繼續(xù)進行繪制;數(shù)據(jù)調(diào)度線程負責(zé)從外存中調(diào)度數(shù)據(jù),通過分析繪制線程傳遞過來的消息,判斷具體需要調(diào)度數(shù)據(jù)的內(nèi)容,如當前場景繪制數(shù)據(jù)、場景預(yù)取數(shù)據(jù)或場景計算數(shù)據(jù)等,同時從內(nèi)存中刪除部分場景數(shù)據(jù);當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的場景數(shù)據(jù)請求消息時,進行直接調(diào)度,此時調(diào)度線程根據(jù)消息直接從外存中調(diào)度繪制線程所需要的數(shù)據(jù),此時的數(shù)據(jù)調(diào)度優(yōu)先級最聞;當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的新視點坐標信息時,說明當前場景繪制的場景數(shù)據(jù)都已經(jīng)在內(nèi)存,繪制線程已經(jīng)進入繪制操作;這時,數(shù)據(jù)調(diào)度線程的主要工作則是根據(jù)新視點的數(shù)據(jù)來判斷下一次繪制可能用到的數(shù)據(jù),并將這些數(shù)據(jù)調(diào)度到內(nèi)存中;當接收到繪制線程發(fā)出的視點的信息后,數(shù)據(jù)調(diào)度線程根據(jù)視點信息更新視點視域,計算需要預(yù)取的區(qū)域并判斷預(yù)取區(qū)域所對應(yīng)的LOD層次;預(yù)取區(qū)域場景塊的編號根據(jù)可見區(qū)域的編號直接計算得出;在計算出所有預(yù)取區(qū)域的場景塊之后,由于數(shù)據(jù)預(yù)取時間必須小于場景繪制時間,所以需要對這些場景塊的調(diào)度優(yōu)先級進行分類,判斷的依據(jù)主要是前一刻視點的前進方向;根據(jù)場景塊與視點運動方向的夾角大小將預(yù)取區(qū)域分為三個優(yōu)先級,場景塊i優(yōu)先級Ki如式(I)
      聞 Oi <30 & = j 中 30 < Q1 <90 igR
      低 90 <0 <180(D其中,Ki表示場景塊i的優(yōu)先級;0 i表示場景塊與視點運動方向的夾角;R表示預(yù)取區(qū)域場景塊的集合;在將預(yù)取數(shù)據(jù)調(diào)度到內(nèi)存中時,需要從內(nèi)存中刪除相應(yīng)大小的場景數(shù)據(jù),選擇LRU策略來選擇刪除的場景塊。再進一步,所述步驟I)中,以場景鏈表為索弓丨,樹木信息存儲在MemoryBlock中,場景鏈表中的每個場景塊可能擁有多個MemoryData來存儲塊內(nèi)的樹木信息,同時對MemoryData中的樹木進行排序,以加快后面相關(guān)樹木的搜索。本發(fā)明的有益效果主要表現(xiàn)在(I)通過分析森林整體動態(tài)演變的全林分級仿真、植物間相互作用的林分級仿真和單株樹木動態(tài)生長情況的單木級仿真的信息特點,對場景外存數(shù)據(jù)結(jié)構(gòu)進行設(shè)計組織,并對地形、地物(非樹木地物)、紋理數(shù)據(jù)進行分割,對三者建立相互關(guān)聯(lián)的索引及外存存儲結(jié)構(gòu),使得仿真計算時數(shù)據(jù)讀取速度更快;、
      (2)根據(jù)粗粒度場景動態(tài)演變模型、中粒度植物間相互作用模型、細粒度樹木個體動態(tài)生長模型的求解過程中相對耗時的步驟,對場景數(shù)據(jù)在內(nèi)存中的存儲進行設(shè)計組織,以減少森林場景模型計算過程的時間;(3)針對大規(guī)模森林場景生長模型求解以及生長結(jié)果可視化時無法一次性將場景數(shù)據(jù)調(diào)入到內(nèi)存的問題,在生長模型求解及可視化過程中內(nèi)外存數(shù)據(jù)調(diào)度方法進行優(yōu)化,包括對粗粒度、中粒度和細粒度場景生長模型計算和仿真時的調(diào)度優(yōu)化,使得最后場景可視化更加流暢。


      圖I是場景數(shù)據(jù)內(nèi)存組織結(jié)構(gòu)示意圖。圖2是場景數(shù)據(jù)在內(nèi)存中的存儲結(jié)構(gòu)示意圖。圖3是場景多線程調(diào)度的示意圖。 圖4是LOD層次模型選擇的示意圖。圖5是場景繪制數(shù)據(jù)預(yù)取的示意圖。
      具體實施例方式下面結(jié)合附圖對本發(fā)明作進一步描述。參照圖I 圖5,一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法,按照仿真目標獲取大規(guī)模森林場景的仿真數(shù)據(jù),并存儲在計算機內(nèi)存中,然后根據(jù)大規(guī)模森林場景數(shù)據(jù)在仿真過程的調(diào)度方式的不同分別對數(shù)據(jù)結(jié)構(gòu)(內(nèi)外存中的存儲結(jié)構(gòu))進行初始化,如圖I所示。在計算機內(nèi)存中,對于場景信息數(shù)據(jù)(不包含樹木信息),我們根據(jù)地形的四叉樹分割采用四叉樹的方式進行存儲。對于樹木信息數(shù)據(jù),考慮到在計算過程中需要對內(nèi)存中的數(shù)據(jù)進行比較頻繁的刪除和存儲,采用內(nèi)存池技術(shù)進行存儲,如圖2所示。在內(nèi)存中,以場景鏈表為索引,樹木信息存儲在MemoryBlock中,場景鏈表中的每個場景塊可能擁有多個MemoryData來存儲塊內(nèi)的樹木信息。同時對MemoryData中的樹木進行排序,以加快后面相關(guān)樹木的搜索。2.對大規(guī)模森林場景進行樹木生長模型的計算,獲取場景中的每棵樹木進行相互作用計算的結(jié)果。進行大規(guī)模森林場景進行樹木生長模型計算時,以場景分塊為單位,遍歷所有場景分塊,并對每個場景分塊內(nèi)的樹木生長計算。樹木生長計算的具體步驟如下A.在場景中確定當前要計算樹木,并根據(jù)當前計算樹木的屬性計算樹木的影響圈范圍,然后,根據(jù)影響圈范圍,計算相關(guān)的仿真參數(shù),并通過遍歷整個場景樹木尋找與當前計算樹木相關(guān)的樹木。B.再得到相關(guān)樹木之后,需要將這些樹木的屬性信息數(shù)據(jù)全部調(diào)度到內(nèi)存中,以便后續(xù)在對當前樹木進行生長計算時可以快速的使用。但是,由于計算機內(nèi)存大小有限,可能會導(dǎo)致無法一次性將所有的樹木數(shù)據(jù)全部調(diào)度到內(nèi)存中,因此在計算過程中可能會出現(xiàn)需要進行內(nèi)外存數(shù)據(jù)調(diào)度的情況。為了能夠充分的利用計算機資源,采用森林生長仿真的調(diào)度策略對生長計算過程中的內(nèi)外存數(shù)據(jù)進行調(diào)度。根據(jù)不同的功能將線程分為繪制線程和數(shù)據(jù)調(diào)度線程兩類。當視點發(fā)生變化時,場景的渲染和數(shù)據(jù)調(diào)入可以同時工作,以提高場景的繪制效率。在場景繪制過程中,CPU主要負責(zé)可見區(qū)域的計算、場景生物量計算以及場景模型LOD層次的判斷,場景的繪制工作則是由圖形處理器來執(zhí)行。所以當CPU把處理過的場景數(shù)據(jù)交給圖形處理器繪制后,這時的CPU將處于空閑狀態(tài),可以利用這段空閑時間來調(diào)度場景數(shù)據(jù)。圖3為多線程工作模型。(I)繪制線程繪制線程主要功能是根據(jù)視點信息計算出當前場景的可見區(qū)域并判斷可見區(qū)域的繪制數(shù)據(jù)是否在內(nèi)存中并向數(shù)據(jù)調(diào)度線程發(fā)送預(yù)取消息。當用戶視點發(fā)生變化時,繪制線程根據(jù)當前視點計算出當前的可見區(qū)域,同時對內(nèi)存中的場景數(shù)據(jù)進行判斷,確認場景重新繪制所需要的數(shù)據(jù)是否已經(jīng)在內(nèi)存中,如果是 則直接進行場景的繪制并向數(shù)據(jù)預(yù)取線程發(fā)送視點更新消息。如果當前需要繪制的場景不在內(nèi)存中,繪制線程則需要根據(jù)當前視點的位置、當前視點的方向等視點信息對可見區(qū)域內(nèi)進行計算。在計算完成后,繪制線程掛起并向數(shù)據(jù)調(diào)度發(fā)送數(shù)據(jù)請求消息,由數(shù)據(jù)調(diào)度線程從外存中調(diào)入場景數(shù)據(jù)后在繼續(xù)進行繪制。如圖4所示,圖中LODO為精細的植物三維模型、LODl為簡化后的植物三維模型、L0D2則采用Billboard技術(shù)直接使用紋理貼圖。(2)調(diào)度線程數(shù)據(jù)調(diào)度線程的工作主要是負責(zé)從外存中調(diào)度數(shù)據(jù),通過分析繪制線程傳遞過來的消息,判斷具體需要調(diào)度數(shù)據(jù)的內(nèi)容,如當前場景繪制數(shù)據(jù)、場景預(yù)取數(shù)據(jù)或場景計算數(shù)據(jù)等,同時從內(nèi)存中刪除部分場景數(shù)據(jù)。當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的場景數(shù)據(jù)請求消息時,說明需要繪制的場景數(shù)據(jù)并不完全在內(nèi)存中,需要進行直接調(diào)度。這時調(diào)度線程根據(jù)消息直接從外存中調(diào)度繪制線程所需要的數(shù)據(jù),此時的數(shù)據(jù)調(diào)度優(yōu)先級最高。當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的新視點坐標信息時,說明當前場景繪制的場景數(shù)據(jù)都已經(jīng)在內(nèi)存,繪制線程已經(jīng)進入繪制操作。這時,數(shù)據(jù)調(diào)度線程的主要工作則是根據(jù)新視點的數(shù)據(jù)來判斷下一次繪制可能用到的數(shù)據(jù),并將這些數(shù)據(jù)調(diào)度到內(nèi)存中。如圖5所示,場景塊A為當前視點所在位置,白色區(qū)域為當前可見區(qū)域,即當前需要繪制的區(qū)域,區(qū)域B、C、D則是預(yù)取區(qū)域。當接收到繪制線程發(fā)出的視點的信息后(坐標和方向),數(shù)據(jù)調(diào)度線程根據(jù)視點信息更新視點視域,計算需要預(yù)取的區(qū)域并判斷預(yù)取區(qū)域所對應(yīng)的LOD層次。預(yù)取區(qū)域場景塊的編號可以根據(jù)可見區(qū)域的編號直接計算得出。在計算出所有預(yù)取區(qū)域的場景塊之后,由于每次數(shù)據(jù)預(yù)取存在時間的限制(數(shù)據(jù)預(yù)取時間必須小于場景繪制時間),所以需要對這些場景塊的調(diào)度優(yōu)先級進行分類,判斷的依據(jù)主要是前一刻視點的前進方向。根據(jù)場景塊與視點運動方向的夾角大小將預(yù)取區(qū)域分為三個優(yōu)先級。如圖4所示,箭頭表示視點前一時刻的運動方向,預(yù)取區(qū)域B標記為高優(yōu)先級(其優(yōu)先級依然地域當前場景塊的數(shù)據(jù)優(yōu)先級),預(yù)取區(qū)域C標記為中優(yōu)先級,預(yù)取區(qū)域D則標記為低優(yōu)先級。場景塊i優(yōu)先級Ki如式(I):
      權(quán)利要求
      1.一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法,其特征在于所述調(diào)度方法包括以下步驟 1)按照仿真目標獲取大規(guī)模森林場景的仿真數(shù)據(jù),對仿真數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進行初始化,不包含樹木信息的場景信息數(shù)據(jù)采用四叉樹的方式進行存儲;樹木信息數(shù)據(jù)采用內(nèi)存池技術(shù)進行存儲; 2)進行大規(guī)模森林場景進行樹木生長模型計算時,以場景分塊為單位,遍歷所有場景分塊,并對每個場景分塊內(nèi)的樹木生長計算,樹木生長計算的具體步驟如下 A.在場景中確定當前要計算樹木,并根據(jù)當前計算樹木的屬性計算樹木的影響圈范圍,然后,根據(jù)影響圈范圍,計算相關(guān)的仿真參數(shù),并通過遍歷整個場景樹木尋找與當前計算樹木相關(guān)的樹木; B.在得到相關(guān)樹木之后,需要將這些樹木的屬性信息數(shù)據(jù)全部調(diào)度到內(nèi)存中,采用森林生長仿真的調(diào)度策略對生長計算過程中的內(nèi)外存數(shù)據(jù)進行調(diào)度; C.生長模型求解當前計算所需要的數(shù)據(jù)全部調(diào)入內(nèi)存中之后,對生長方程的求解,計算出最后的結(jié)果; 3)根據(jù)大規(guī)模森林場景中樹木生長模型計算結(jié)果,進行大規(guī)模森林場景的可視化,并保存大規(guī)模森林場景中樹木生長模型的計算結(jié)果。
      2.如權(quán)利要求I所述的面向大規(guī)模森林仿真的生長模型的調(diào)度方法,其特征在于所述步驟B中,所述森林生長仿真的調(diào)度策略包括繪制線程和調(diào)度線程; 當用戶視點發(fā)生變化時,繪制線程根據(jù)當前視點計算出當前的可見區(qū)域,同時對內(nèi)存中的場景數(shù)據(jù)進行判斷,確認場景重新繪制所需要的數(shù)據(jù)是否已經(jīng)在內(nèi)存中,如果是則直接進行場景的繪制并向數(shù)據(jù)預(yù)取線程發(fā)送視點更新消息;如果當前需要繪制的場景不在內(nèi)存中,繪制線程則需要根據(jù)當前視點的位置、當前視點的方向等視點信息對可見區(qū)域內(nèi)進行計算;在計算完成后,繪制線程掛起并向數(shù)據(jù)調(diào)度發(fā)送數(shù)據(jù)請求消息,由數(shù)據(jù)調(diào)度線程從外存中調(diào)入場景數(shù)據(jù)后在繼續(xù)進行繪制; 數(shù)據(jù)調(diào)度線程負責(zé)從外存中調(diào)度數(shù)據(jù),通過分析繪制線程傳遞過來的消息,判斷具體需要調(diào)度數(shù)據(jù)的內(nèi)容,如當前場景繪制數(shù)據(jù)、場景預(yù)取數(shù)據(jù)或場景計算數(shù)據(jù)等,同時從內(nèi)存中刪除部分場景數(shù)據(jù); 當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的場景數(shù)據(jù)請求消息時,進行直接調(diào)度,此時調(diào)度線程根據(jù)消息直接從外存中調(diào)度繪制線程所需要的數(shù)據(jù),此時的數(shù)據(jù)調(diào)度優(yōu)先級最高; 當數(shù)據(jù)調(diào)度線程接收到繪制線程發(fā)來的新視點坐標信息時,說明當前場景繪制的場景數(shù)據(jù)都已經(jīng)在內(nèi)存,繪制線程已經(jīng)進入繪制操作;這時,數(shù)據(jù)調(diào)度線程的主要工作則是根據(jù)新視點的數(shù)據(jù)來判斷下一次繪制可能用到的數(shù)據(jù),并將這些數(shù)據(jù)調(diào)度到內(nèi)存中;當接收到繪制線程發(fā)出的視點的信息后,數(shù)據(jù)調(diào)度線程根據(jù)視點信息更新視點視域,計算需要預(yù)取的區(qū)域并判斷預(yù)取區(qū)域所對應(yīng)的LOD層次;預(yù)取區(qū)域場景塊的編號根據(jù)可見區(qū)域的編號直接計算得出;在計算出所有預(yù)取區(qū)域的場景塊之后,由于數(shù)據(jù)預(yù)取時間必須小于場景繪制時間,所以需要對這些場景塊的調(diào)度優(yōu)先級進行分類,判斷的依據(jù)主要是前一刻視點的前進方向; 根據(jù)場景塊與視點運動方向的夾角大小將預(yù)取區(qū)域分為三個優(yōu)先級,場景塊i優(yōu)先級Ki如式(I)
      3.如權(quán)利要求I或2所述的面向大規(guī)模森林仿真的生長模型的調(diào)度方法,其特征在于所述步驟I)中,以場景鏈表為索引,樹木信息存儲在MemoryBlock中,場景鏈表中的每個場景塊可能擁有多個MemoryData來存儲塊內(nèi)的樹木信息,同時對MemoryData中的樹木進行排序,以加快后面相關(guān)樹木的搜索。
      全文摘要
      一種面向大規(guī)模森林仿真的生長模型的調(diào)度方法,包括以下步驟1)按照仿真目標獲取大規(guī)模森林場景的仿真數(shù)據(jù),對仿真數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進行初始化,不包含樹木信息的場景信息數(shù)據(jù)采用四叉樹的方式進行存儲;樹木信息數(shù)據(jù)采用內(nèi)存池技術(shù)進行存儲;2)進行大規(guī)模森林場景進行樹木生長模型計算時,以場景分塊為單位,遍歷所有場景分塊,并對每個場景分塊內(nèi)的樹木生長計算;3)根據(jù)大規(guī)模森林場景中樹木生長模型計算結(jié)果,進行大規(guī)模森林場景的可視化,并保存大規(guī)模森林場景中樹木生長模型的計算結(jié)果。本發(fā)明提供一種實時性良好、加速計算過程、場景可視化較流暢的面向大規(guī)模森林仿真的生長模型的調(diào)度方法。
      文檔編號G06F9/455GK102662729SQ201210111048
      公開日2012年9月12日 申請日期2012年4月16日 優(yōu)先權(quán)日2012年4月16日
      發(fā)明者蘇中原, 范允易, 范菁, 董天陽 申請人:浙江工業(yè)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1