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