gpt4 book ai didi

math - 绘制2D隐式标量场的等值线

转载 作者:行者123 更新时间:2023-12-04 18:54:55 25 4
gpt4 key购买 nike

我在2D中定义了一个隐式标量字段,对于2D中的每个点,我都可以使它计算出准确的标量值,但计算起来有些复杂。
我想绘制该表面的等值线,例如'0'值的线。函数本身是连续的,但等值线“0”可以具有多个连续的实例,并且不能保证所有实例都已连接。
计算每个像素的值不是一种选择,因为这将花费太多时间-几秒钟,并且需要尽可能实时。

我当前正在使用的是空间的递归划分,可以将其视为一种四叉树。我对空间进行了初始的非常粗略的采样,如果我发现一个包含从正值到负值的过渡的正方形,则将其递归划分为4个较小的正方形,然后再次检查,并在像素级别停止。正负过渡是通过在其4个角采样一个正方形来检测的。
这项工作效果很好,除非不是这样。绘制的等值线有时会被剪切,因为过渡检测在发生在边缘的一小部分区域且未穿过正方形角的过渡时会失败。

在此设置中是否有更好的方法来进行等值线绘制?

最佳答案

我在这里描述的算法取得了很多成功http://web.archive.org/web/20140718130446/http://members.bellatlantic.net/~vze2vrva/thesis.html
其中讨论了自适应轮廓绘制(与您描述的轮廓绘制相似),以及轮廓绘制一般中的其他一些问题。

没有一般的方法可以保证在不查看每个像素的情况下找到函数的所有轮廓。在功能通常为负的区域中,可能存在一个非常小的封闭轮廓,其中该区域仅约为函数为正的像素大小的区域。除非采样足够细,以至于将样本放置在正区域内,否则无法通过一般方法知道该区域是否存在。

如果您的函数足够平滑,则您可能能够猜测出如此小的闭合轮廓的位置,因为函数的模数在围绕它们的区域中变小。然后可以仅在这些区域中对采样进行细化。

关于math - 绘制2D隐式标量场的等值线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com