据我了解,slerp在两个四元数之间插入并返回一个单位四元数。因此,如果我想平均三个四元数,我可以做(假设它们都彼此靠近):
Eigen::Quaterniond t4;
Eigen::Quaterniond u4;
Eigen::Quaterniond v4;
Eigen::Quaterniond average1 = t4.slerp(0.5, u4);
Eigen::Quaterniond average2 = average1.slerp(0.5, v4);
从直觉上来说,这对我来说很有意义,但随后又是我们正在谈论的四元数。