public static GetQuatConjugate ( |
||
q | ||
리턴 |
public static Quaternion GetQuatConjugate(Quaternion q)
{
return new Quaternion(-q.x, -q.y, -q.z, q.w);
}
public static Quaternion GetSquadIntermediate(Quaternion q0, Quaternion q1, Quaternion q2) { Quaternion quatConjugate = MathUtils.GetQuatConjugate(q1); Quaternion quatLog = MathUtils.GetQuatLog(quatConjugate * q0); Quaternion quatLog2 = MathUtils.GetQuatLog(quatConjugate * q2); Quaternion q3 = new Quaternion(-0.25f * (quatLog.x + quatLog2.x), -0.25f * (quatLog.y + quatLog2.y), -0.25f * (quatLog.z + quatLog2.z), -0.25f * (quatLog.w + quatLog2.w)); return(q1 * MathUtils.GetQuatExp(q3)); }