BEPUutilities.Quaternion.Normalize C# (CSharp) Method

Normalize() public static method

Ensures the quaternion has unit length.
public static Normalize ( quaternion ) : Quaternion
quaternion Quaternion to normalize.
return Quaternion
        public static Quaternion Normalize(Quaternion quaternion)
        {
            Quaternion toReturn;
            Normalize(ref quaternion, out toReturn);
            return toReturn;
        }

Same methods

Quaternion::Normalize ( ) : void
Quaternion::Normalize ( &quaternion, &toReturn ) : void

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Lerps a rotation by time.
        /// </summary>
        /// <param name="aTime">The time.</param>
        /// <returns>The rotation.</returns>
        public BEPUutilities.Quaternion LerpRotate(double aTime)
        {
            if (Rotations.Count == 0)
            {
                return(BEPUutilities.Quaternion.Identity);
            }
            if (Rotations.Count == 1)
            {
                return(Rotations[0]);
            }
            int index     = FindRotate(aTime);
            int nextIndex = index + 1;

            if (nextIndex >= Rotations.Count)
            {
                return(Rotations[0]);
            }
            double deltaT = RotTimes[nextIndex] - RotTimes[index];
            double factor = (aTime - RotTimes[index]) / deltaT;

            if (factor < 0 || factor > 1)
            {
                return(Rotations[0]);
            }
            BEPUutilities.Quaternion start = Rotations[index];
            BEPUutilities.Quaternion end   = Rotations[nextIndex];
            BEPUutilities.Quaternion res   = BEPUutilities.Quaternion.Slerp(start, end, (double)factor);
            res.Normalize();
            return(res);
        }
All Usage Examples Of BEPUutilities.Quaternion::Normalize