Рассчитать угол между двумя точками - PullRequest
0 голосов
/ 03 мая 2019

image

У меня есть круг в Android, и я хочу вычислить угол между центром круга и двумя точками:
Первая точка - это центр вверх в круге, как 12 на часах, а вторая - точка события.

как я могу это сделать?

public boolean onDrag(View v, DragEvent event) {
float radius = v.getWidth()/2;
float center_circleX =  v.getX()+radius;
float center_circleY =  v.getY()+radius;
float x = event.getX();
float y = event.getY();
float x1 = radius;
float y1 = radius
//int angleDegrees = ? from 0 to 360
}

1 Ответ

0 голосов
/ 03 мая 2019

попробуйте что-то вроде этого:

float angle = Math.toDegrees(
  Math.atan2(y1 - center_circleY, x1 - center_circleX) -
  Math.atan2(y - center_circleY, x - center_circleX)
);
...