private static float ChangeAngleIfRotatingLeft(Vector2D lastPosVector, Vector2D newPosVector)
        {
            var angle = lastPosVector.AngleBetweenVector(newPosVector);
            var cross = Vector3D.Cross(lastPosVector, newPosVector);
            var dot   = Vector3D.Dot(cross, new Vector3D(0, 0, 1));

            return(dot < 0 ? -angle : angle);
        }
		private static float ChangeAngleIfRotatingLeft(Vector2D lastPosVector, Vector2D newPosVector)
		{
			var angle = lastPosVector.AngleBetweenVector(newPosVector);
			var cross = Vector3D.Cross(lastPosVector, newPosVector);
			var dot = Vector3D.Dot(cross, new Vector3D(0, 0, 1));
			return dot < 0 ? -angle : angle;
		}