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));
}