public double getRotationAngle() {

		double distanceX = destinationPlace.getX() - startingPlace.getX();
		double distanceY = -(destinationPlace.getY() - startingPlace.getY());

		// do math magic to get new angle
		double newAngle = Math.toDegrees(Math.atan2(distanceY, distanceX));

		// incorporate the starting angle
		double rotationAngle = (newAngle - startingAngle);

		// fix angles that end up lower than -180 degrees
		if (rotationAngle < -180)
			rotationAngle += 360;
		if (rotationAngle > 180)
			rotationAngle -= 360;

		assert (rotationAngle <= 180 && rotationAngle >= -180);

		return rotationAngle;
	}