-
使用level-set-method-soap-bubble方法的matlab代码计算曲面曲率
资源介绍
matlab计算曲率的代码肥皂泡运动的水平集方法
关于这个项目
该项目用于模拟两个矩形网格之间的肥皂膜。
这是基于
DL
Chopp
(1992)
撰写的一篇论文,提出了一种使用水平集方法计算最小曲面的技术。
算法
这个问题可以看作是找到一个包含两个网格的最小表面。
算法如下。
在
3
维空间中设置两个矩形网格
设置包含两个网格的初始曲面。
制作表面的窄带(管状邻域)
在波段中定义有符号距离函数。
此函数必须在曲面上为零值,在曲面内为正值,在曲面外为负值。
计算带内每个点的曲率流并更新函数值。
找到函数的一个新的零水平集。
重复3~6,直到函数收敛。
详见(韩文写的)。
怎么跑
在
Matlab
上打开
nbm3d_final.m
文件,修复一些超参数并运行代码。(在
Matlab
R2015a
中运行良好)
结果
我为每个案例运行了
500
次迭代。
示例结果如下
案例1.宽度=2,高度=2,距离=2
案例2.宽度=2,高度=2,距离=3
情况
3.
宽度=2,高度=2,距离=5
参考
[1]
DL
Chopp,通过水平集曲率流计算最小曲面,计算物理学杂志
106
(1993),77