我正在尝试使用 Wagner 定义的分段运动对一组运动数据点进行插值,因此每个数据点包含 8 个数字。这些数字中的每一个都形成一个运动参数,因此我需要为每个参数生成 Bspline 函数(8 个总参数,8 个 Bpsline 函数)。其中 3 个数字与平移有关,4 个与旋转有关,1 个与平移权重有关。这三个组中的每一个都被定义为对其各自的曲线具有特定的度数,因此一般三次 B 样条插值不起作用。
三次 Bspline 的公式是明确定义的,但对于更高的曲线度数,情况并非如此,那么如何使用 4 度数对数据集进行插值?我知道可以使用 LU 分解,但我不确定如何在 C++ 中实现它,或者如何定义分解所需的值(我有节点向量和每个数据点的时间,但仅此而已)。