All pastes #1629109 Raw Edit

dmiles

public text v1 · immutable
#1629109 ·published 2009-10-19 08:25 UTC
rendered paste body
        /// <summary>
        /// Convert a Quaternion to a Rotation around a Z-axis
        /// 2*PI = North
        /// 1/2*Pi = East
        /// PI = South
        /// 3/2*PI = West
        /// </summary>
        /// <param name="simRotation">Radians</param>
        /// <returns></returns>
        public static double GetZHeading(Quaternion simRotation)
        {
            Vector3 v3 = Vector3.Transform(Vector3.UnitX, Matrix4.CreateFromQuaternion(simRotation));
            return (Math.Atan2(-v3.X, -v3.Y) + Math.PI);
        }