dmiles
public text v1 · immutable /// <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);
}