public static void CalculateXandZ(double direction, double distance,Side side, double X, double Z, out double newX, out double newZ) { var directionInRadians = Math.Tan(direction * (Math.PI / 180)); if (direction > 45 || direction < -45) { newX = X + (distance/directionInRadians); newZ = Z + distance; } else { newX = X + distance; newZ = Z + distance * directionInRadians; } }