【发布时间】:2020-06-12 14:02:09
【问题描述】:
所以在三维平面中,我在任何给定的 x、y 或 z 处都有 3 个或更多点,我想在这些点之间画一条直线,但我面临的主要问题是我想要在它们之间建立“平滑路径”的选项。我听说过高斯插值,但不知道如何使用它。一个好的替代方案也可以。 https://i.stack.imgur.com/6rf8D.png希望我画的这张图能让它更清晰一点。感谢您的帮助
【问题讨论】:
标签: math 3d interpolation
所以在三维平面中,我在任何给定的 x、y 或 z 处都有 3 个或更多点,我想在这些点之间画一条直线,但我面临的主要问题是我想要在它们之间建立“平滑路径”的选项。我听说过高斯插值,但不知道如何使用它。一个好的替代方案也可以。 https://i.stack.imgur.com/6rf8D.png希望我画的这张图能让它更清晰一点。感谢您的帮助
【问题讨论】:
标签: math 3d interpolation
要制作“平滑的路径”,你需要建立一些曲线,高斯插值不是为了这个目的。
您可以计算 Catmull-Rom 样条曲线 - 构建一组平滑连接曲线的简单方法。 Arbitrary example - 你只需要在 3D 中计算三个分量。
另一种方法-使用贝塞尔曲线平滑as described here
我可以假设作者应用Gaussian function 来获取中间点 t 中的值作为基点 t1..t3 的加权和
X(t) = G(t, t1) + G(t, t2) + G(t, t3)
在哪里
G(t, tx) = 1/(sigma*sqrt(twopi)) * exp(-((t - tx)/sigma)^2/2)
【讨论】: