Cesium样条插值主要有三种:Linear、Lagrange、Hermite。理解Cesium样条插值对生成平滑飞行路径十分关键。
插值概念
在数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。
与插值密切相关的另一个问题是通过简单函数逼近复杂函数。假设给定函数的公式是已知的,但是太复杂以至于不能有效地进行评估。来自原始函数的一些已知数据点,或许会使用较简单的函数来产生插值。当然,若使用一个简单的函数来估计原始数据点时,通常会出现插值误差;然而,取决于该问题领域和所使用的插值方法,以简单函数推得的插值数据,可能会比所导致的精度损失更大。
在数值分析这个数学分支中,样条插值是使用一种名为样条的特殊分段多项式进行插值的形式。由于样条插值可以使用低阶多项式样条实现较小的插值误差,这样就避免了使用高阶多项式所出现的龙格现象,所以样条插值得到了流行。
插值定义
给定$n$个离散数据点(称为节点)${\displaystyle (x_{k},y_{k})}(x_{k},y_{k}),{\displaystyle k=1,2,…,n}$。对于${\displaystyle x,(x\neq x_{k},k=1,2,…n)}$,求${\displaystyle x}$所对应的$y$的值称为内插。
$f(x)$为定义在区间$[a,b]$上的函数。${\displaystyle x_{1},x_{2},x_{3}…x_{n}}$为$[a,b]$上 $n$ 个互不相同的点,$G$ 为给定的某一函数类。若$G$ 上有函数$g(x)$ 满足:
$$g(x_{i})=f(x_{i}),k=1,2,…n$$
则称 $g(x)$为 $f(x)$ 关于节点 $x_{1},x_{2},x_{3}…x_{n}$ 在 $G$ 上的插值函数。
参考链接
- Cesium专栏-样条插值(平滑路径、飞行动画,源码下载),by GIS之家.
- Cesium的Property机制总结,by vtxf.
- 插值,by wikipedia.
- 样条插值,by wikipedia.