Unity坐标系求四元数的逆
inline float MagnitudeSqr(glm::quat q)//模长平方
{
return Dot(q, q);// q.x*q.x+q.y*q.y+q.z*q.z+q.w*q.w;
}
inline glm::quat Adjoint(glm::quat q)//求共轭四元数
{
return glm::quat(q.w, -q.x, -q.y, -q.z);
}
inline glm::quat Inverse(glm::quat q)//求逆
{
float q2 = MagnitudeSqr(q);//q的模长的平方 如果是单位四元数 这里直接等于1
glm::quat qAdjoint = Adjoint(q);
return glm::quat(qAdjoint/q2);//返回四元数的逆
}