Universe.Physics.ConvexDecompositionDotNet.Quaternion.slerp C# (CSharp) Méthode

slerp() public static méthode

public static slerp ( Quaternion a, Quaternion b, float interp ) : Quaternion
a Quaternion
b Quaternion
interp float
Résultat Quaternion
        public static Quaternion slerp(Quaternion a, Quaternion b, float interp)
        {
            if (dot(a, b) < 0.0)
            {
                a.w = -a.w;
                a.x = -a.x;
                a.y = -a.y;
                a.z = -a.z;
            }
            float d = dot(a, b);
            if (d >= 1.0)
            {
                return a;
            }
            float theta = (float)Math.Acos(d);
            if (theta == 0.0f)
            {
                return (a);
            }
            return a * ((float)Math.Sin(theta - interp * theta) / (float)Math.Sin(theta)) + b * ((float)Math.Sin(interp * theta) / (float)Math.Sin(theta));
        }