///
/// Convert a Quaternion to a Rotation around a Z-axis
/// 2*PI = North
/// 1/2*Pi = East
/// PI = South
/// 3/2*PI = West
///
/// Radians
///
public static double GetZHeading(Quaternion simRotation)
{
Vector3 v3 = Vector3.Transform(Vector3.UnitX, Matrix4.CreateFromQuaternion(simRotation));
return (Math.Atan2(-v3.X, -v3.Y) + Math.PI);
}