版里搜了下,呵呵,发现level set method应该是从图像识别领域借过来的。基本思想: 令(n+1)维函数 t = phi(x(t)) 等于0,即水平集。
基本问题:
1 初始化
定义 level set 函数 phi(x) 为符号距离函数,界面线上距离为0。一般为隐函数。
1.1 符号判定, 界面闭合线内/外
1.1.1 2D留数算法: 将边界C离散成n段,c_1, c_2, .. c_n 为结点, oc_i 表示某点o 指向c_i的向量
sum ( atan(( oc_i x oc_(i+1)) / (oc_i . oc_(i+1))), i = 1: n)
if sum == 0 ---> 点o 在边界C外
if sum == 2 * pi ---> 点o在边界C内
1.1.2 交点判定算法: 给定已知符号的点P0, 待定符号的点Px 与 P0 之间连线穿过边界C,
如果穿过次数是偶数表示Px与P0符号相同;
如果是奇数,则符号相反。
实现:
&nb