寻找“相对于点连接的闭合曲线”算法

时间:2011-07-04 19:15:24

标签: algorithm image-processing

我正在寻找一种可以连续点和连续曲线连接的算法。想象一下从点a到b到c的绘制直到最后一点,当你从一点到另一点绘制时,该线必须是一条曲线,并且相对于前一点和下一点是连续的,就好像给定的点只是样本一样一个闭环。请参见下图。

这样的算法是否有这样的算法?

close_encircle

*图中的圆圈是我的积分列表。

2 个答案:

答案 0 :(得分:4)

鉴于你的点是有序的,样条插值绝对是最好的方法。 (正如bo1024评论所示)我强烈推荐以下注释:

http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/

具体而言,这里的部分与你要求的闭环相关:

http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/B-spline/bspline-curve-closed.html

编辑:如果曲线必须通过这些点,则唯一度解n是拉格朗日插值多项式。您可以使用维基页面上的公式为点向量的每个分量创建一个多项式:

http://en.wikipedia.org/wiki/Lagrange_polynomial

不幸的是,如果点数太多,拉格朗日插值会非常嘈杂。因此,我仍然建议使用一些固定度样条插值。 Hermite多项式是另一种选择,而不是B样条:

http://en.wikipedia.org/wiki/Cubic_Hermite_spline

这些将保证曲线通过这些点。要获得闭合曲线,您需要在求解系数时重复曲线的前d个点,其中d是您用来逼近点的Hermite样条曲线的度数。

答案 1 :(得分:-2)

问题与travelling salesman problem非常相似,您可以扩展一些用于解决问题的算法以适合您的情况。

例如,进化算法很容易适应,你会发现很多关于使用它们来解决TSP的参考文献。