Как определить повернут ли я в сторону объекта? Пишу приложение на Android в целях обучения. Суть такая.
У нас есть реальный объект, мы знаем его координаты (долгота, широта).
Мы знаем свои координаты (GPS же).
Нужно определить, повернут ли я в сторону объекта и если объект в зоне видимости - вывести сообщение.
Делаю в Unity3D. Но можно ссылки на Java код или чисто математическое объяснение.
Не знаю, как определить куда мы повернуты. В телефоне есть компас. Я могу узнать градус между северным полюсом и направлением куда смотрю. (Вроде сам ответил на свой вопрос?)
Но по прежнему, не понимаю, сути вопроса. Как понять, смотрю я на объект или нет.

21 Авг 2019 в 06:13
165 +1
0
Ответы
1

Для определения того, смотрите ли вы на объект, можно воспользоваться формулой подсчета угловой разницы между направлением к объекту и вашим текущим направлением (в градусах).

Например, если у вас есть координаты объекта (objectLon, objectLat) и ваши текущие координаты (currentLon, currentLat), вы можете вычислить угол между северным полюсом и вашим текущим направлением (currentDirection) с помощью компаса, а затем угол между вашим текущим направлением и направлением к объекту (objectDirection).

Далее, если угловая разница между currentDirection и objectDirection меньше заданного вами порога (например, 10 градусов), то можно считать, что вы смотрите в сторону объекта. В этом случае можно выводить соответствующее сообщение.

Это лишь общий принцип, который можно реализовать на Java с использованием Android SDK и компаса устройства. Надеюсь, это поможет вам в реализации вашего приложения.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир