水平集方法(Level Set Method) 是一种用于界面追踪和形状建模的数值技术.水平集方法的优点是可以在笛卡尔网格(Cartesian grid)上对演化中的曲线曲面进行数值计算而不必对曲线曲面参数化(这是所谓的(Eulerian approach)).).水平集方法的另一个优点是可以方便地追踪物体的拓扑结构改变.例如当物体的形状一分为二,产生空洞,或者相反的这些操作.所有这些使得水平集方法成为随时间变化的物体建模的有力工具,例如膨胀中的气囊, 掉落到水中的油滴.
理解水平集方法的最简单有效地方式是先学习相应的例子,然后学习技术性很强的定义.右侧的图片示例了水平集的几个重要思想.在左上角有一个形状--由一个良性边界包围的有界区域.在它的下面,红色的曲面是相应的水平集函数的处理曲线.假设沿着其法线运动,这一运动可以表示为水平集函数的():
这是一个偏微分方程,并且可以求得数值解,例如可以在笛卡尔网格上采用有限差分法.
然而,水平集方程的数值解需要复杂的技术.简单的有限差分法会很快导致不收敛. 迎风方法,诸如Godunov方法前进缓慢;然而在水平对流场中,水平集方法不保持水平集的体积和形状的守恒.
美国数学家Stanley Osher和James Sethian于20世纪80年代开发出了水平集方法.这一方法在许多学科广泛使用,例如图像处理,计算几何,最优化和计算流体力学.
大量的有关水平集数据结构被开发出来,使得水平集方法在计算中的应用变得更加方便.