Математика снова победила меня. Это такая простая задача, но я не могу справиться с ней.
Сценарий: Я рисую на SurfaceView круглое изображение. Пользователь касается точки на границе изображения и начинает тащить его по кругу. Мне нужно повернуть круглое изображение в соответствии с движением пользователя. У меня есть две важные части информации: координаты центра изображения X,Y и координаты точек касания.
Как вы можете видеть на изображении, пользователь коснулся точки, согласно моему рисунку угол точки касания должен быть около 40. Я не могу правильно рассчитать его.
Я пытался использовать эту формулу:
angle = Math.atan2(touchedY - centerY, touchedX - centerX) * 180 / Math.PI
Я не могу понять, как я должен вычислять угол, в том виде, в котором он есть сейчас, он не работает правильно и значения не очень хорошие. Например, в случае с изображением, угол рассчитывается как -50.
Спасибо за ваше время, любая информация будет принята с радостью.
LE: На самом деле я допустил ошибку, как указано ниже. Круг должен выглядеть так: