我想找到一个标量函数的轮廓,它可以作为一组离散的函数值在分散的点集 . 在我的例子中,分散数据来自使用 RBF 有限差分法对 PDE 的数值解,但是任何类型的分散数据的插值同样相关。
在一个相关线程中,建议首先对分散的点进行三角剖分,然后使用常见的轮廓算法,例如2D 中的行进三角形。虽然这是一种经过测试的方法,但构建三角剖分破坏了 RBF-FD 方法的主要优势之一,这正是它可以避免多边形网格的事实。该线程中的一个答案表明 RBF 方法可以更好地工作。
除了点坐标和函数值之外,假设我还有大小为的 RBF-FD 模板的邻接图,以及 RBF-FD 微分权重:
它们以某种方式构造,它们可以为各种(线性)空间微分算子提供近似值。
回到最初的问题,寻找轮廓水平可以重铸为寻找隐函数的水平集(零轮廓),
给定轮廓附近点的一些初始猜测使得
其中投影与投影点处的梯度正交。在Per-Olof Persson的论文(第 47-48 页)中,使用拉格朗日乘数和截断的泰勒展开式找到了投影的一阶近似。近似投影公式为
下图显示了一个近似投影结果的示例。首先,我通过寻找模板来识别轮廓附近的散点,其中的符号发生了变化。使用 RBF-FD 空间算子构造梯度,我可以将附近的点投影到目标轮廓:
我现在缺少的是一种将投影点连接到单个轮廓的可靠方法。他们是否可以使用一些图形方法(构建最短路径)?
鉴于行进方阵算法,我也预计在鞍点附近寻路将有消歧困难。他们有什么方法可以检测到这样的鞍区,如果是的话,如何使寻路变得稳健?