Dan*_*ick 13 algorithm geometry spline
一点背景.我有一个模拟,使用三维样条曲线进行一维轨迹.在此上下文中,三次样条曲线将对象的位置,速度,加速度和加加速度指定为时间的函数.
如果你有:
然后有一个独特的样条曲线.如果您没有指定最终时间,而是想要最小时间轨迹,那么还有一个独特的样条曲线.
然而,实际上找到这些样条可能是一种皇家的痛苦.在指定时间的情况下,样条曲线将由最多7个多项式组成,并且结点(多项式之间的过渡点)不是提前知道的.
这不是将样条拟合到一组数据的常见情况,它是根据边界条件和一些其他约束创建样条曲线.我读过人们使用类似安排并且有类似需求的论文,但我从来没有发现任何库(甚至是源代码)来处理这种类型的样条.我编写了一些处理大多数情况的代码,但它并不是非常强大或快速.我并不十分担心它的速度很快,但更强大会更好.
有没有可以提供此功能的库?开源代码,即使不是作为库构建的?C,C++,Java或Python是首选,但如果它是开源的,其他语言仍然可用作参考.
有一个用于 C++ 的开源 boost 库,可能会让您成功一半。
我认为它具有您需要的所有基本构建块(Legrendre/Laguerre/Hermite 多项式、求根等...),尽管它缺乏实际计算样条曲线。
库文档在这里,您可以自己检查:http://www.boost.org/doc/libs/1_45_0/libs/math/doc/html/index.html