非单调花键配件

时间:2015-06-18 18:49:18

标签: curve-fitting data-fitting

我使用2个2D拟合完成了3D路径的样条插值。使用插值条件以及2次可微分的要求,我得到了所需的方程来插入我的3D路径。 然而,我开始意识到,我忽略了这样一个事实:由于障碍物,路径不是单调的,因此无法计算拟合的样条曲线。

在没有单调数据集的情况下,我无法在样条拟合上找到任何东西。有没有办法采纳这个事实? (我发现,这些点必须满足(Schoenberg-Whitney)条件,这对我来说基本上看起来像是单调性,以便通过最小二乘法得到唯一的拟合。)

对收养或不同算法的任何建议?我现在唯一可以找到的是: heremite,它需要端点处的衍生物,这对我的目的来说并不理想。我会喜欢像#34;常规"这样简单的事情。样条(具有连续性条件的三阶多项式)。

我还找到了this question,它只陈述了一些关于厄米多项式的东西(我想避免)。

最后,它用于控制算法,需要隐式定义曲线(非参数)。例如y - p(x) = 0。对我来说不可能的是:p(t)=y, x(t)其中t是参数。如果可以消除参数,产生隐式表示,那很好。

2 个答案:

答案 0 :(得分:0)

通过简单地将点到点的累积距离作为独立(单调)参数,您可以为任何一系列3D点生成单调性。可以把它想象成连接所有点的分段线性路径p的长度......

编辑 ...喜欢(伪代码):

p[0] = 0;
p[i] = p[i-1] + sqrt((x[i]-x[i-1])^2 + (y[i]-y[i-1])^2 + (z[i]-z[i-1])^2)

一旦有了这个参数,就可以分别对三个维度(x,y和z)进行三次样条曲线拟合。这样,您的3D曲线拟合可以处理任何可想到的一系列点。使用此路径p进行样条插值也可以使其更多"物理"因为靠近的点将被视为。

为简单起见 - 特别是如果您的数据点或多或少等间距 - 您可以简单地使用每个点的序数(如0,1,2,3 ......)作为独立的单调递增参数。

答案 1 :(得分:0)

由于路径不是单调的,因此没有(内射)函数可以存在,它描述了它们! 这很容易想到,如果考虑路径,你可以前进,后退和前进。如果没有参数表示(例如时间),则路径不是唯一的。 换句话说:如果是y=sin(x),那么现在哪个位置是y = 0的路径?无限的解决方案当然是x=k*pi,但在这里很明显,这不是唯一的。