Graphics 寻找一组点的拐点

Graphics 寻找一组点的拐点,graphics,curve-fitting,bezier,inflection,Graphics,Curve Fitting,Bezier,Inflection,我正在研究一种可以通过一组点拟合一组贝塞尔曲线的方法。我已经能够使用来自的曲线拟合方法来实现这一点。这种方法的问题是,它无法通过一条具有许多拐点的线拟合低阶贝塞尔曲线。因此,为了使这项工作,我需要能够得到一个分段三次贝塞尔分裂曲线在其拐点,然后运行曲线拟合算法从那里。 问题是我不知道如何找到一组没有明确函数的点的导数。我想我总是可以计算割线的斜率,而不是切线,但我不确定这是否有效。 有人对如何找到一组点的拐点有更好的想法吗 拐点是曲率缠绕从CW到CCW或从CW到CCW的分割曲线。因此,首先检测绕

我正在研究一种可以通过一组点拟合一组贝塞尔曲线的方法。我已经能够使用来自的曲线拟合方法来实现这一点。这种方法的问题是,它无法通过一条具有许多拐点的线拟合低阶贝塞尔曲线。因此,为了使这项工作,我需要能够得到一个分段三次贝塞尔分裂曲线在其拐点,然后运行曲线拟合算法从那里。 问题是我不知道如何找到一组没有明确函数的点的导数。我想我总是可以计算割线的斜率,而不是切线,但我不确定这是否有效。
有人对如何找到一组点的拐点有更好的想法吗

拐点是曲率缠绕从CW到CCW或从CW到CCW的分割曲线。因此,首先检测绕组

假设二维情况…

如果你的点是
{p0,p1,p2,…,p(n-1)}
,那么在
p(i)
处缠绕的是
z
坐标的
符号,它是两条后续切线的积:

w(i)  = cross (
              ( p(i).x-p(i-1).x , p(i).y-p(i-1).y , 0)
              ( p(i+1).x-p(i).x , p(i+1).y-p(i).y , 0)
              ).z
因此,如果
p(i)
是拐点,那么:

w(i)*w(i-1) < 0
w(i)*w(i-1)<0

问题是,如果
w(i)
w(i-1)
为零,则必须跳过或专门处理此类缠绕。

拐点是曲率缠绕从CW到CCW的分割曲线,反之亦然。因此,首先检测绕组

假设二维情况…

如果你的点是
{p0,p1,p2,…,p(n-1)}
,那么在
p(i)
处缠绕的是
z
坐标的
符号,它是两条后续切线的积:

w(i)  = cross (
              ( p(i).x-p(i-1).x , p(i).y-p(i-1).y , 0)
              ( p(i+1).x-p(i).x , p(i+1).y-p(i).y , 0)
              ).z
因此,如果
p(i)
是拐点,那么:

w(i)*w(i-1) < 0
w(i)*w(i-1)<0

问题是如果
w(i)
w(i-1)
为零,则必须跳过或专门处理此类绕组。

这是2D还是3D还是ND?这是2D还是3D还是ND?