/// <summary>Calculate the absolute orientation of the hard point (relative to the ship heading)</summary> /// <param name="orientation"> </param> /// <returns></returns> private Vector GetAbsoluteOrientation(Vector orientation) { if (Ship.Heading == Vector.Zero) return orientation; var upVector = new Vector(0, 1); var rightVector = (Ship.Heading * upVector); var rotate = Vector.Angle(upVector, Ship.Heading); return rightVector.Z < 0d ? orientation.RotateZ(rotate) : orientation.RotateZ(-rotate); }