我可以多次使用 slerp 来平均四元数吗?

Hak*_*hin 5 quaternions

据我了解 slerp 在两个四元数之间进行插值并返回一个单位四元数。所以如果我想平均 3 个四元数我可以这样做(假设它们都彼此接近):

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);
Run Code Online (Sandbox Code Playgroud)

直觉上这对我来说是有道理的,但话又说回来,我们正在谈论的是四元数。