在快速迭代法中求解二次

计算科学 二次规划
2021-12-16 08:31:58

快速迭代法是一种在离散网格上求解 Eikonal 方程的方法,类似于此处另一个问题中讨论的快速行进

论文描述了整体算法,并提供了求解二次方程的方法,如下:

SolveQuadratic(a, b, c, f)

返回求解,其中u=Uxg(U,x)=0abc

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 算法的其余部分一样。但是,我不清楚在问题的上下文中输入是什么(我认为我确实了解如何获得)。它们被描述为“网格基本方向上迎风邻居的a,b,cfa,b,c

我只需要在二维网格中求解,所以我相信我只需要加上两个输入,并且会放弃上面的第二个 test-and-recalculate 步骤,但我仍然需要fb,c

我应该注意,我不是一个数学强的人。我拥有 Comp 的理学学士学位。科学。但我的数学技能充其量是一年级/大一的水平,而且生疏……

任何指针将不胜感激。

1个回答

你有一个 6 连接的社区。说 a,b,c,d,e,f 是邻居值。并且(a,e)在x方向,(b,e)在y方向,(c,f)在z方向。由于您的波前永远不会改变其速度的符号,因此逆风邻域是那些具有较小值的点,即