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