一種計算機圖像處理領域的基于位置的流體模擬控制方法及系統,通過將用戶提供目標形狀模型進行體素化得到控制粒子,同時允許用戶提供骨骼運動數據(BVH)文件對得到的控制粒子進行平滑形變,生成一段由粒子表示的骨骼驅動動畫序列。為了控制流體模擬的形狀匹配前面生成的由控制粒子表示的模型,對流體粒子應用三種控制約束,分別是密度約束、彈性約束和速度約束。其中密度約束用于驅動流體粒子形成目標形狀,彈性約束能夠驅動流體粒子跟蹤快速變化的目標形狀,速度約束用于控制流體粒子的運動速度。本發明專利技術能夠在控制流體模擬形成用戶設定目標形狀情況下保持流體的物理細節和特性,同時通過采用基于位置的物理計算框架,允許使用任意大的時間步長,進而可以實現實時的大規模流體模擬與控制。
【技術實現步驟摘要】
本專利技術涉及的是一種計算機圖形學領域的技術,具體是一種通過對流體粒子應用 三種非線性約束使得流體的模擬形態與快速變化的目標形態相匹配,同時又保持流體本身 的細節和物理特性的方法及系統。
技術介紹
流體模擬已經成為計算機圖形學領域研究中越來越熱門的話題,許多自然界的相 關現象諸如水、煙霧、火焰等等,皆與流體模擬息息相關。為此,業界人員提出了許多有效的 算法來模擬逼真的流體效果。 目前,模擬流體效果的相關算法已經比較成熟,無論是基于網格的歐拉方法或是 基于粒子的拉格朗日方法,都可以比較準確的模擬流體效果。但是隨著人機交互的不斷發 展,人們對于流體模擬控制的要求越來越高。尤其是在計算機動畫領域,控制流體模擬變形 為用戶設定的目標形態的需求越來越多。 經過對現有技術的檢索發現,中國專利文獻號CN102402791A,公開日2012 -04 -04 提供了一種"基于GHJ的三維流體模擬"。該方法提出了一種基于GPU的三維流體模擬方法, 主要包括:1)采集三維流體的數據信息;2) CPU對獲得的三維流體的數據信息進行預處理, 之后采用GPU對獲得的預處理結果進行流體模擬,從而獲得加速后的流體模擬的結果;3) 將所獲得的模擬結果進行渲染,獲得渲染后的三維流體的最終效果。該技術利用了 GPU進 行并行加速,并可以達到實時的模擬效果。但是該方法僅采用了基本的Smoothed particle hydrodynamics (SPH)流體模擬方法,無法在模擬過程中控制流體的形態。 中國專利文獻號0附03714575六公開(公告)日2014.04.09,公開了一種3?!1與動 態表面網格相結合的流體模擬方法。該方法使用追蹤粒子對流體表面進行采樣,之后將表 面追蹤粒子轉化成三角網格,并在模擬過程中自動處理網格的拓撲變化,保持三角形網格 的質量。該方法解決了傳統SPH流體模擬不易展現流體細節的問題。但是該方法同樣只能 模擬流體自然情況下的狀態,無法在模擬過程中控制流體的形狀和運動路徑,使流體形成 用戶期望的狀態。 A. Treuille 和 A. McNamara 等人在《SIGGRAPH》上發表的《Keyframe Control of Smoke Simulations》(2003年)中提出了一種基于關鍵幀的流體控制方法。該方法利用一 個類似于風力的外力來驅動整個流體的形態變化,使之與用戶設定的關鍵幀形態相匹配。 該方法可以有效地控制基于歐拉方法的流體模擬,但是由于方法中的風力計算涉及最優化 方程的求解,使得整個算法的計算非常耗時,只能適用于小規模或者二維流體模擬的控制。 為了解決控制算法耗費大量計算資源和時間的問題,N. Thiirey和R. Keiser等人 在《Graphical Models》上發表的《Detail - Preserving Fluid Control》(2〇〇9 年)中提 出了一種對基于拉格朗日流體模擬框架的控制方法。該方法利用吸引力來驅使流體達到目 標形狀,同時利用速度力來控制流體的流動速度,為了避免人工引入的控制力破壞流體的 細節特性,該方法將整個流體速度場分解成高頻和低頻兩部分,并將控制力只作用到低頻 部分,這樣使得流體細節在一定程度上被保留下來。該方法在一定程度上解決了基于歐拉 流體模擬控制方法中耗時耗資源的問題,但是由于引入的控制力是線性的,與流體物理方 程的非線性特征不一致,無法施加較大控制力,否則會造成流體模擬的不穩定,因此該方法 不能控制流體跟蹤和匹配快速移動的目標。
技術實現思路
本專利技術針對現有技術存在的上述不足,提出了一種基于位置的流體模擬控制方法 及系統,本方法基于拉格朗日流體模擬框架,通過對流體粒子應用三種非線性約束來使得 流體的模擬形態與快速變化的目標形態相匹配,同時保持流體細節和物理特性。另外,本發 明采用基于位置物理模擬框架,允許使用任意大的時間步長,因此可以實現實時的流體模 擬與控制。 本專利技術是通過以下技術方案實現的: 本專利技術涉及一種基于位置的流體模擬控制方法,采用基于流體密度的約束力驅動 流體匹配物體形態;同時通過添加彈性約束力,將流體粒子緊緊貼合匹配物體的形態,使得 整個流體的模擬過程不會因為匹配物體的快速形變或者移動而產生粒子無法跟隨匹配的 情況。 本專利技術具體包括以下步驟: 步驟一,用戶自行設置控制流體的目標形狀3D模型,同時設置用于表示目標形狀 運動的 Biovision hierarchical data(BVH)文件。 步驟二,對用戶設置的目標物體模型進行體素化得到控制粒子位置;用戶設定對 物體進行形變的控制點位置;計算控制點對體素點的影響權重,具體為: 2. 1)對目標物體模型進行三角網格細分;然后采用均分三角形算法對細分后的 物體模型進行體素化,即落在體素化網格之內的頂點即為該體素化網格的控制粒子位置。 當有多個頂點落在同一個體素化網格之內,將這些頂點的位置求平均值來作為控 制粒子的位置。對所有頂點進行這樣的操作,從而得到整個物體模型對應的流體控制粒子。 所述的三角網格細分是指:當一個三角網格的邊長大于一個體素化網格時,將該 三角網格分成兩個更小的三角網格。 所述的三角網格是指:目標物體模型本身的三角面片。 所述的體素化網格是指:將物體所在的三維空間平均劃分而得到的若干單位立方 體。 所述的流體控制粒子是指:用于控制流體粒子運動的粒子。 2. 2)在體素化后的結果上手動設置控制點的位置,并計算控制點對體素點的歸一 化后的影響權重信息。具體為: 2. 2. 1)手動設直控制點的彳λα直。 2. 2. 2)通過Djikstra算法計算每個體素 j和對應的控制點i之間的最短距離為 d) ;. 1 , 2. 2. 3)計算每個控制點i對體素點j的權重影響,A = (mypyngfr,其 中:Ct是用于控制形變平滑程度的參數。 wlJ 2. 2. 4)對%進行歸一化處理得到歸一化之后的權重,M k 步驟三,使用步驟一設置的BVH文件以及步驟二得到的歸一化后的影響權重,對 當前時間步的控制粒子的位置進行更新,然后通過控制粒子對流體粒子施加約束力,驅動 流體粒子形成目標形狀,具體為: 3. 1)對流體粒子應用密度約束,得到流體粒子在密度約束下的位置變化量,具體 為: 3. I. 1)計算每個控制粒子i周圍流體粒子的密度,A 其中: J Pi表示第i個控制粒子的位置,P _j表示第j個流體粒子的位置,m 表示第j個流體粒子的 質量,H表示控制粒子的支持半徑,W為SPH方法中Ploy6平滑函數。 每個控制粒子i的密度約束定義為:…,仏)=#-1,其中:0表示流體 Po " 粒子未受控制情況下的密度值。 3. 1. 2)計算控制粒子i的密度約束強度其中 ε用于防止除零情況發生,Ci表示約束C i對位置p ^求梯度。 3. 1. 3)計算每個流體粒子i在密度約束下的位置變化量, 丑〉,其中:▽妒為函數W對位置?]求梯度。 通過上述密度約束的位置更新,每個控制粒子會自動維持其周圍流體粒子的密 度,當周圍的流體粒子密度過小時,控制粒子對周圍流體粒子產生吸引作用,增大其周圍的 流體密度;相反,則對周圍流體粒子產生排斥作用,減小其周圍的流體密度。 3. 本文檔來自技高網...

【技術保護點】
一種基于位置的流體模擬控制方法,其特征在于,首先將目標模型體素化成控制粒子,并計算用戶設定控制點對控制粒子的影響權重信息,進而可以對控制粒子進行基于骨骼驅動的形變,之后根據控制粒子表示的目標物體形狀對流體模擬施加控制約束,即對每個流體粒子計算其由控制產生的位置變化量,并將流體粒子按變化量移動至新位置,從而實現流體模擬;所述的控制約束包括:密度約束、彈性約束和速度約束。
【技術特征摘要】
【專利技術屬性】
技術研發人員:張帥,楊旭波,吳子奇,劉海波,
申請(專利權)人:上海交通大學,
類型:發明
國別省市:上海;31
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。