我怎样才能产生多点线性插值?
How can i produce multi point linear interpolation?
我有一个线性插值法。这是在 (x1,y1) (x2,y2) 和 x0 已知时计算插值。它是计算 y0 值。但是当多点已知时我需要这样做。
我不是在谈论双线性或三线性插值。
对于多点插值,有 3 个选项:
分段线性插值
选择2个离你已知坐标最近的点如果你使用参数然后select包含参数范围的点并将参数range/scale更改为插值范围(通常为<0,1>
)并插值作为线性插值。
整数线性 DDA 的示例以及更多在这里:
- Precise subpixel line drawing algorithm (rasterization algorithm)
多项式插值
这不是线性的!!!取所有已知点,从中计算 n-th
次多项式(通过拉格朗日多项式或边缘条件或通过 regression/curve 拟合或其他任何方法)并从参数计算点作为该多项式的函数。通常每个轴有一个多项式,点和/或多项式的次数越多,结果(振荡)越不稳定。
分段多项式插值
它是#1,#2的组合(n
低以避免振荡)。您需要正确调用点序列来管理段之间的连续性,边缘条件必须考虑到上一个和下一个段...
- 此处Piecewise interpolation cubic example
- 此处How to construct own interpolation 3th degree polynomial
- 此处
- 此处point call sequence and BEZIER cubic as interpolation cubic
[注释]
SPLINE,BEZIER,... 是近似曲线而不是插值(它们不一定穿过控制点)。有一种方法可以通过重新计算控制点来转换不同类型的曲线。例如看这个:
- Interpolation cubic vs. Bezier cubic
我有一个线性插值法。这是在 (x1,y1) (x2,y2) 和 x0 已知时计算插值。它是计算 y0 值。但是当多点已知时我需要这样做。
我不是在谈论双线性或三线性插值。
对于多点插值,有 3 个选项:
分段线性插值
选择2个离你已知坐标最近的点如果你使用参数然后select包含参数范围的点并将参数range/scale更改为插值范围(通常为
<0,1>
)并插值作为线性插值。整数线性 DDA 的示例以及更多在这里:
- Precise subpixel line drawing algorithm (rasterization algorithm)
多项式插值
这不是线性的!!!取所有已知点,从中计算
n-th
次多项式(通过拉格朗日多项式或边缘条件或通过 regression/curve 拟合或其他任何方法)并从参数计算点作为该多项式的函数。通常每个轴有一个多项式,点和/或多项式的次数越多,结果(振荡)越不稳定。分段多项式插值
它是#1,#2的组合(
n
低以避免振荡)。您需要正确调用点序列来管理段之间的连续性,边缘条件必须考虑到上一个和下一个段...- 此处Piecewise interpolation cubic example
- 此处How to construct own interpolation 3th degree polynomial
- 此处
- 此处point call sequence and BEZIER cubic as interpolation cubic
[注释]
SPLINE,BEZIER,... 是近似曲线而不是插值(它们不一定穿过控制点)。有一种方法可以通过重新计算控制点来转换不同类型的曲线。例如看这个:
- Interpolation cubic vs. Bezier cubic