快速迭代法是一种在离散网格上求解 Eikonal 方程的方法,类似于此处另一个问题中讨论的快速行进法。
论文描述了整体算法,并提供了求解二次方程的方法,如下:
SolveQuadratic(a, b, c, f)
返回求解,其中
u ← c + 1/f if u ≤ b return (u) u ← (b + c + sqrt(−b^2 − c^2 + 2bc + 2/f^2))/2 if u ≤ a return (u) u ← (2(a + b + c) + sqrt(4(a + b + c)^2 − 12(a^2 + b^2 + c^2 − 1/f^2)))/6 return (u)
这很容易实现,就像 FIM 算法的其余部分一样。但是,我不清楚在问题的上下文中输入是什么(我认为我确实了解如何获得)。它们被描述为“网格基本方向上迎风邻居的
我只需要在二维网格中求解,所以我相信我只需要加上两个输入,并且会放弃上面的第二个 test-and-recalculate 步骤,但我仍然需要。
我应该注意,我不是一个数学强的人。我拥有 Comp 的理学学士学位。科学。但我的数学技能充其量是一年级/大一的水平,而且生疏……
任何指针将不胜感激。