私は、固有値を使用して2つの四元数の間でスラープしようとしています(最も簡単だと思います)。
2つの異なる例を見つけました
1、
for(int i = 0; i < list.size(); i++)
{
Matrix3f m;
Quaternion<float,0> q1 = m.toRotationMatrix();
Quaternion<float,0> q3(q1.slerp(1,q2));
m_node->Rotation(q3.toRotationMatrix());
}
2番、
Vec3 slerp(const Vec3& a, const Vec3& b, const Real& t)
{
Quaternionf qa;
Quaternionf qb;
qa = Quaternionf::Identity();
qb.setFromTwoVectors(a,b);
return (qa.slerp(t,qb)) * a;
}
どちらが正しいとは一概には言えません。これに関するドキュメントはあまりありません。別のライブラリを使用する必要があるかどうかを誰かに教えてもらえますか? または、どうすれば固有値を使用してスラープできますか。