给定网格上的值,我可以使用哪种算法有效地构建水平集轮廓?


9

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

我可以使用哪种算法以最有效的方式构造轮廓?

在此处输入图片说明

轮廓图显示在上方。具有相同颜色的线具有相同的值。ž


1
为什么要下票?
Graviton 2012年

1
不确定,这对我来说似乎是一个相关的问题。唐纳德?一个问题是,等值线对于网格数据似乎并不是特别明确。您能否给出要解决的问题的图形示例?
阿隆·艾玛迪亚

Answers:


4

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

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


此算法的运行时间为,其中脸编号,为轮廓数量,是否仍需改进此算法的运行时间?ØFñFñ
Graviton 2012年

@Graviton:我认为您不能期望它比线性缩放好得多,而且具有问题的大小……
Allan P. Engsig-Karup 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.