@olezhenka

Как найти ближайший объект если знать только его градусы?

У меня есть окружность и два объекта.
uQF8NroH-ds.jpg

При клике мне нужно определить ближайший объект с помощью их градусов. Я написал что-то типа:
Math.abs(A_deg - click_deg) > Math.abs(B_deg - click_deg) ? B_deg : A_deg

Здесь условие такое — где меньше осталось градусов, значит, этот объект ближе и его использую, но потом возникла очевидная проблема которую я ожидал и думал решу каким-то простым дополнительным условием:

красная - градусы клика, остальные это объекты
0_0OstLlU4I.jpg

Но чет повводил разные условия и никак не могу правильно определять ближайший объект.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
var diff = Math.min(Math.abs(x - y), 360 - Math.abs(x - y));

Можно переписать в виде функции:
var getDiff = (x, y) => Math.min(Math.abs(x - y), 360 - Math.abs(x - y));

Демо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы