通过N个点找到贝塞尔曲线的控制点

19
2个回答

24

这是一个非常古老的问题,但是我将其留在这里,供将来有同样问题的人参考。

@divanov提到,对于N>4的任意点,不存在通过它们的贝塞尔曲线。

我认为OP想知道如何计算控制点以连接多个贝塞尔曲线,以生成看起来平滑的单一曲线。

这份pdf将向您展示如何计算控制点: http://www.math.ucla.edu/~baker/149.1.02w/handouts/dd_splines.pdf

我从Square的这篇文章https://developer.squareup.com/blog/smoother-signatures/中找到了这份pdf,他们介绍了如何渲染出经过鼠标签名所有采样点的平滑曲线。


2
更新链接:https://developer.squareup.com/blog/smoother-signatures/ - CenterOrbit

2

通常情况下,不存在通过N个任意点的贝塞尔曲线,其中N > 4。应该考虑曲线拟合,以最小化计算出的贝塞尔曲线和给定的N个数据点之间的最小二乘误差。例如,在这里讨论了这个问题。


有的。您总是可以找到一条贝塞尔曲线(实际上有无限多个),其次数为N-1,插值N个给定点。对于三次(次数为3)贝塞尔曲线,您的答案是正确的。 - bubba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接