H社区,
我想问是否有一种算法可以选择最佳数量的支持点来创建贝塞尔样条曲线,以使其看起来平滑并减少错误。如果有这样的算法,算法有多快?
提前致谢
塞巴斯蒂安
我不确定我是否理解你的问题。通常你有一个固定数量的点,你计算插值点的样条。
维基百科上有一篇关于样条线的文章可能会对您有所帮助。
平滑度与控制点无关。控制点仅用于与 bspline 基函数的线性组合。任意 bspline 段总是位于相应控制点的凸包中。这是您所追求的 bspline 基函数的顺序。
所以如果你想要平滑,你应该增加基函数的阶数。线性 bsplines 只会给出线性段。
通常,您不想使用比三次更高阶的贝塞尔曲线。随着订单的增加,评估和渲染会变慢。大多数显示库也支持三次曲线,您需要自己渲染更高的阶数。
如果您尝试使用贝塞尔曲线来近似数据,那么有一大堆近似算法可以将密集打包的数据简化为贝塞尔曲线。如果您正在寻找一种绘制多点曲线的方法,B-Splines 曲线可能是一个有用的解决方案。这些很容易转换为贝塞尔曲线段进行渲染。有关B 样条曲线的基本介绍,请参见本文。