给定网格上的值,我可以使用什么算法来有效地构造水平集轮廓?

计算科学 计算几何 可视化
2021-12-11 08:36:44

我有一个网格,面孔F, 边E, 和顶点V,并且我有一个预定义的水平集轮廓列表。

我可以使用什么算法以最有效的方式构建轮廓?

在此处输入图像描述

上面显示了等高线图。具有相同颜色的线具有相同的z价值。

1个回答

它可以通过在每个元素上循环然后为每个元素在边缘上循环来完成。然后为每条边确定给定轮廓的坐标(如果它穿过边),即检查轮廓是否在顶点值跨越的区间内取值。如果轮廓穿过两条边缘,则在边缘处检测到的交叉点之间的坐标之间绘制一条线。

对所有元素执行此操作将创建轮廓。也可以通过对每个三角形进行插值来细化到更精细的网格,然后使用细化网格的 delaunay 三角剖分,然后应用上述例程以实现足够精细的分辨率。