国产精品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>

      八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法

      文檔序號:6372316閱讀:429來源:國知局
      專利名稱:八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機虛擬現(xiàn)實技術(shù)領(lǐng)域,具體地說是一種快速的煙模擬方法,該方法可用于虛擬火災(zāi)救援,戰(zhàn)爭游戲和電影等方面。
      背景技術(shù)
      隨著計算機技術(shù)的飛速發(fā)展,人們越來越注重自然現(xiàn)象在計算機動畫中的真實性,在模擬戰(zhàn)場、火災(zāi)救援時,煙的模擬是必不可少的。從1990年代開始出現(xiàn)了很多用計算機進行煙的模擬方法。使用網(wǎng)格的方法來模擬煙的公式是著名的納維-斯托克斯方程(Navier-StokesEquation)
      CViIdt = -uV-u-Vp + f(I)V-U = O(2)其中u表不速度場,f表不外力,P表不壓強,t表不時間。眾多模擬方法中采用的一個較為通用的框架是Stam在1999年提出的將流體方程進行分解計算[I](I)施加邊界環(huán)境;(2)施加外力(比如浮力)與內(nèi)力(比如旋力),du/dt = [;(3)后向追蹤進打速度平流,Biildt = —uV · u ;(4)速度投影,5u/ft=-Vp,其中的P通常由Δρ = ν·ιι得到;(5)后向追蹤進行溫度密度平流。然而,用早期的模擬方法來進行大規(guī)模的煙模擬是非常昂貴的,這是因為速度投影中的Δρ = ν·ιι是一個全局的求解方程的過程,計算量非常大。近20年來有很多研究人員使用各種方法來加速模擬過程,加速模擬的核心主要在于如何減小速度投影的計算量?,F(xiàn)有的快速模擬方法大概分成三類第一類是降維的方法,從大量預(yù)計算數(shù)據(jù)中提取一組基,這組基只需要少量的基函數(shù)就能近似原有的所有數(shù)據(jù),然而這種基缺乏物理含義,而且模擬的場景改變時又需要大量的預(yù)計算;第二類是使用粗糙的網(wǎng)格進行模擬,然后使用加入噪聲或者非物理的方法加入細節(jié)從而達到高分辨率效果,但是這種方法是非真實的;第三類是采用八叉樹的方法,空間網(wǎng)格用八叉樹表述,但是這種方法在數(shù)值計算上有困難,比如高價插值。

      發(fā)明內(nèi)容
      為克服上述缺點,本發(fā)明的目的在于提供一種快速模擬方法,該方法可以極大的加速模擬過程,同時還能保持完全精細網(wǎng)格模擬時的細節(jié)。為了達到上述目的,本發(fā)明采用一種八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,實現(xiàn)方法是首先,用戶輸入場景物體,煙的產(chǎn)生范圍,煙的初始濃度、持續(xù)注入濃度,旋度系數(shù),浮力系數(shù)以及指定感興趣的區(qū)域;接著,根據(jù)場景物體以及感興趣的區(qū)域生成距離場;然后,根據(jù)距離場以及各層次的距離場閾值生成八叉樹粗糙網(wǎng)格;最后,在煙的模擬過程中的每一幀,進行速度投影時,將精細網(wǎng)格上的速度映射到八叉樹粗糙網(wǎng)格上,然后在八叉樹網(wǎng)格上進行速度投影,之后再映射回精細網(wǎng)格進行局部投影。在八叉樹粗糙網(wǎng)格上進行速度投影時我們使用了如下文中公式(3)所述的新的數(shù)學(xué)模型,與傳統(tǒng)的模型相比,該模型在八叉樹上使用時,可以避免傳統(tǒng)方法中的非精確插值,從而更加準確。在進行局部投影的過程中,我們將原本求解方程的問題轉(zhuǎn)換為矩陣-矩陣乘法,并采用GPU并行計算。


      圖I示出本發(fā)明基于八叉樹粗糙網(wǎng)格投影的快速的模擬方法的主要流程圖;圖2示出本發(fā)明中一個二維距離場;圖3示出本發(fā)明八叉樹粗糙網(wǎng)格的二維示意圖,(a)中使用了兩個閾值0,0,劃分為3個層次,(b)中使用了一個閾值1,劃分為2個層次;
      圖4示出本發(fā)明的八叉樹粗糙網(wǎng)格的三維示意圖
      具體實施例方式如圖I所示,本發(fā)明的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法采用如下步驟(I)輸入場景物體以及感興趣的區(qū)域,生成距離場。所謂“場景物體”是指柵格化之后的體素描述的物體,“感興趣的區(qū)域”也是由柵格化之后的體素描述的區(qū)域。在生成距離場的過程中,利用一個先進先出的隊列,先將場景物體以及感興趣區(qū)域的體素的距離置為0,并加入到隊列中,然后每次取隊首體素,對該體素的上下左右前后6個鄰居體素分別進行考察,如果該鄰居體素還沒有被加入過隊列則將它的距離置為隊首體素的距離加I并加入隊尾,考察完隊首體素則從隊列中刪除它。圖2是一個應(yīng)用本方法生成的二維距離場,圖中的帶陰影區(qū)域是場景物體與感興趣的區(qū)域。(2)生成距離場之后,根據(jù)指定的劃分層次與每個層次的距離場閾值,將空間劃分成八叉樹網(wǎng)格。所謂“劃分層次”,是指空間中允許的不同規(guī)模的單元格的最大種類,N個劃分層次需要N-I個距離場閾值。在生成八叉樹網(wǎng)格的過程中,我們先將整個空間劃分成最粗糙的網(wǎng)格,如果每個粗糙單元格中含有比相應(yīng)閾值小的體素,則將該單元格細分為8個子單元格。如此遞歸地細分,直到不能再分為止。圖3是兩種不同閾值生成的八叉樹網(wǎng)格,(a)中使用了兩個閾值0,0,劃分為3個層次,(b)中使用了一個閾值1,劃分為2個層次。(3)在進行每一幀的模擬過程中,我們按如下步驟進行(a)施加邊界環(huán)境。邊界環(huán)境主要是指邊界的速度值,溫度,煙的注入濃度等。(b)施加外力與內(nèi)力。外力主要指浮力,浮力的公式采用ftoy = a (T-Tamb)Z,其中α是浮力系數(shù),T是每個體素的溫度,Tanib是環(huán)境溫度,ζ是一個與重力方向相反的單位向量,通常是(0,0,I)。內(nèi)力主要是指旋力,施加旋力采用Fedkiw[2]的旋度放大方法,先根據(jù)速度場u計算出旋度場ω = νχιι,再根據(jù)旋度場計算出旋力方向N,N的計算公式為
      V I ω I
      ,接著計算旋力= εΜΝΧω),其中ε為旋度系數(shù),h為單元格的 長。(c)進行速度的平流。我們采用BFECC[3]方法來進行速度的平流。
      (d)將精細網(wǎng)格的速度映射到八叉樹網(wǎng)格上,映射方法是=^Y4fefiJItf,其中
      <是八叉樹網(wǎng)格上的速度,<是精細網(wǎng)格上的速度,fsets是每個八叉樹網(wǎng)格的面所覆蓋的精細網(wǎng)格的面的集合,η是該集合的元素個數(shù)。(e)速度投影。我們使用下面的模式來求解投影后的速度
      權(quán)利要求
      1.ー種八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,其特征在于它包括以下步驟 (1)輸入場景物體,煙的產(chǎn)生范圍,煙的初始濃度、持續(xù)注入濃度,旋度系數(shù),浮力系數(shù),以及指定感興趣的區(qū)域;這里場景物體、煙的產(chǎn)生范圍以及感興趣的區(qū)域用柵格化的體素來描述,煙的初始濃度指模擬開始時煙的濃度,持續(xù)注入濃度指每個時刻新增的濃度,旋度系數(shù)和浮力系數(shù)是影響煙的運動的物理參數(shù); (2)根據(jù)場景物體以及感興趣的區(qū)域生成距離場; (3)根據(jù)距離場以及各層次的距離場閾值生成八叉樹粗糙網(wǎng)格; (4)在煙的模擬過程中的每ー幀,進行速度投影時,將速度映射到八叉樹粗糙網(wǎng)格上進行投影; (5)在煙的模擬過程中的每ー幀,在進行粗糙網(wǎng)格上的速度投影之后,將速度映射回精細網(wǎng)格,并在每個八叉樹單元格對應(yīng)的區(qū)域進行局部投影。
      2.如權(quán)利要求I所述的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,其特征在于在所述步驟(2)中生成距離場的方法是 首先,構(gòu)造ー個先進先出的隊列,將場景物體所在的體素以及感興趣的區(qū)域的體素的距離置為O并加入到隊列中; 然后,取隊首體素,考察它的上下左右前后6個方向的鄰居體素,如果沒有被加入過隊列,則將它的距離置為隊首體素的距離加I,并將該體素加入到隊列中,隊首元素從隊列中去除; 最后,重復(fù)考察隊首元素,直到隊列為空。
      3.如權(quán)利要求I所述的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,其特征在于在所述步驟(3)中根據(jù)相應(yīng)的距離場閾值生成八叉樹粗糙網(wǎng)格,具體方法是 首先,將距離場劃分為最粗糙的網(wǎng)格; 然后,如果每個粗糙單元格中的各個細網(wǎng)格的距離值都大于相應(yīng)層次的距離場閾值,則不用細分,否則,分成八個細網(wǎng)格; 最后,對每個粗糙單元格進行遞歸的細分,直到不能再分。
      4.如權(quán)利要求I所述的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,其特征在于在所述步驟(4)中在八叉樹粗糙網(wǎng)格上的投影方法采用了極小化投影前后速度的能量差的數(shù)學(xué)模型,具體模型為 min u , (u - H *) 2 dr - J AV udr |(I) 其中U與U*分別是位置r處的投影后和投影前的速度,\是r處的拉格朗日乘子,Q是問題的求解空間,V .為向量場的散度算子。
      5.如權(quán)利要求I所述的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,其特征在于在所述的步驟(5)中,局部投影的過程中將求解方程的問題轉(zhuǎn)換為矩陣-矩陣乘法并使用GPU加速計算。
      全文摘要
      本發(fā)明是一種八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,該方法根據(jù)場景中的物體以及用戶設(shè)定的感興趣的區(qū)域,先自動的生成距離場,然后根據(jù)這個距離場和用戶設(shè)定的相關(guān)閾值自動將場景劃分為八叉樹網(wǎng)格。這個八叉樹的特征為在細節(jié)豐富的地方劃分得更細,在細節(jié)比較少的地方劃分得粗一些,在進行每幀煙的模擬的速度投影階段,先將速度映射到八叉樹網(wǎng)格上進行投影,然后映射回精細網(wǎng)格進行局部投影,為了更好的在八叉樹網(wǎng)格上進行速度投影,本發(fā)明的八叉樹粗糙網(wǎng)格投影的快速的煙模擬方法,能夠最大效率地利用計算資源而且能模擬出具有豐富細節(jié)的煙。
      文檔編號G06F17/50GK102819630SQ201210219490
      公開日2012年12月12日 申請日期2012年6月27日 優(yōu)先權(quán)日2012年6月27日
      發(fā)明者齊越, 左慶 申請人:北京航空航天大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1