基本介紹
- 中文名:水平集方法
- 外文名:level set methods
- 類型:數值技術
- 基本思想:將界面看成高一維空間中某一函式
簡介,水平集方法,水平集方程,歷史,參閱,
簡介
水平集方法(Level Set Method) 是一種用於界面追蹤和形狀建模的數值技術。水平集方法的優點是可以在笛卡爾格線(Cartesian grid)上對演化中的曲線曲面進行數值計算而不必對曲線曲面參數化(這是所謂的歐拉法(Eulerian approach))。水平集方法的另一個優點是可以方便的追蹤物體的拓撲結構改變。例如當物體的形狀一分為二,產生空洞,或者相反的這些操作。所有這些使得水平集方法成為隨時間變化的物體建模的有力工具,例如膨脹中的氣囊, 掉落到水中的油滴。
水平集方法
理解水平集方法的最簡單有效地方式是先學習相應的例子,然後學習技術性很強的定義。右側的圖片示例了水平集的幾個重要思想。在左上角有一個形狀--由一個良性邊界包圍的有界區域。在它的下面,紅色的曲面是相應的水平集函式
的圖像,
的某個水平面決定了左上角的形狀,假設其中的藍色平面即為x-y平面,則形狀的邊界可以表示為
的零水平集,並且該形狀是平面上滿足
大於等於零的點的集合。
![](/img/e/e85/2d6c1ff975f7c85d16fff3ea82d2.jpg)
![](/img/e/e85/2d6c1ff975f7c85d16fff3ea82d2.jpg)
![](/img/e/e85/2d6c1ff975f7c85d16fff3ea82d2.jpg)
![](/img/e/e85/2d6c1ff975f7c85d16fff3ea82d2.jpg)
在上面的一行,形狀改變其拓撲結構,分裂為兩個形狀。如果用邊界曲線參數表示形狀,這一演化過程是很難表達的。這需要一個算法能夠檢測到形狀分裂的時刻,然後為分裂後的曲線構造新的參數。另一方面,從下面的一行可以看出水平集函式僅僅是向下方移動了一點。由於在直接法中我們需要監視所有形狀可能發生的變化情況,水平集方法處理形狀曲線要比直接方法容易得多。
![](/img/b/aae/a36498f879488966bf0872c5aea6.jpg)
![](/img/2/0fe/644192f0091369899139160ebc0e.jpg)
![](/img/9/1b7/13617ab454f4bd1f351d336d0699.jpg)
![](/img/5/2c7/d3f86e5ec6ddac3ca07a70300d34.jpg)
![](/img/8/8bf/17e05c1595ed516936543887040a.jpg)
![](/img/8/8bf/17e05c1595ed516936543887040a.jpg)
水平集方程
如果零水平集以速度v沿著其法線運動,這一運動可以表示為水平集函式的哈密頓-雅可比方程(Hamilton-Jacobi equation):
![](/img/1/fd0/7a3c7ece1284513750186e226912.jpg)
然而,水平集方程的數值解需要複雜的技術。簡單的有限差分法會很快導致不收斂。迎風方法,諸如Godunov方法前進緩慢;然而在水平對流場中,水平集方法不保持水平集的體積和形狀的守恆。
歷史
大量的有關水平集數據結構被開發出來,使得水平集方法在計算中的套用變得更加方便。
參閱
- 流體體積法