我有一个线性插值方法。这是当 (x1,y1) (x2,y2) 和 x0 已知时计算插值。计算y0值。但我需要在已知多点时执行此操作。
我不是在谈论双线性或三线性插值。
对于多点插值有 3 个选项:
-
分段线性插值
如果使用参数,请选择距离已知坐标最近的 2 个点,然后选择包含参数范围的点并将参数范围/比例更改为插值范围(通常<0,1>
) 并作为线性插值进行插值。
整数及更多的线性 DDA 示例如下:
- 精确的亚像素画线算法(光栅化算法) https://stackoverflow.com/a/24682318/2521214
-
多项式插值
这不是线性的!取所有已知点,计算n-th
度多项式(通过拉格朗日多项式或通过边缘条件或通过回归/曲线拟合或其他任何方式)并根据参数计算点作为该多项式的函数。通常,每个轴有一个多项式,多项式的点数和/或次数越多,结果(振荡)越不稳定。
-
分段多项式插值
它的组合是#1,#2 (n
低以避免振荡)。您需要正确调用点序列来管理段之间的连续性,边缘条件必须考虑上一个和下一个段...
- here 分段插值三次示例 https://stackoverflow.com/a/22806242/2521214
- here 如何构造自己的插值三次多项式 https://stackoverflow.com/a/23627081/2521214
- here 如何构造自己的插值四次多项式 https://stackoverflow.com/a/44963357/2521214
- here 点调用序列和贝塞尔三次插值三次 https://stackoverflow.com/a/20517874/2521214
[notes]
样条线、贝塞尔曲线,... 是近似曲线而不是插值曲线(它们不一定穿过控制点)。有一种方法可以通过重新计算控制点来在不同类型的曲线之间进行转换。例如看这个:
- 插值三次与贝塞尔三次 https://stackoverflow.com/a/22582447/2521214
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)