Относительное положение точек наклона - PullRequest
1 голос
/ 17 января 2012

В настоящее время я участвую в проекте, в котором было бы полезно отображать географические точки в виде наложений поверх элемента VIDEO (размер 512x288).

Элемент VIDEO содержит прямую трансляцию, и у меня также есть в режиме реального времени подача координат, широты, долготы и высоты, которые передаются на сайт в виде переменных JavaScript.

У меня также есть массив POI (точек интереса), который включен в сайт. POI имеют следующий формат:

var points = [['Landmark name', 'latitude', 'longitude'], […]];

Каждые пять секунд или около того я хочу пройтись по массиву POI и проверить, есть ли какие-либо из них в текущем окне просмотра видео - и, если это правда, наложить их поверх элемента VIDEO.

Может ли кто-нибудь указать мне правильное направление относительно того, на что я должен смотреть? Я предполагаю, что должен отобразить точки на 2D-плоскости, например, используя Проекция Меркатора.

Но я немного растерялся, когда дело доходит до сопоставления относительной позиции пикселя POI с видео.

Будем рады получить несколько советов!

1 Ответ

1 голос
/ 17 января 2012

Сделав это раньше, наиболее важным элементом является точное определение поля зрения камеры (по крайней мере, до сотых долей градуса) в вертикальном или горизонтальном направлении.Затем используйте соотношение сторон (512/288 = 1,78) видео, чтобы определить другой угол (при необходимости), используя формулу atan (не допускайте общей ошибки умножения вертикального поля зрения на соотношение сторон, чтобы получить горизонтальноеполе зрения. Поле зрения угловое, соотношение сторон линейное).Думайте об этом с точки зрения настройки камеры, например, в OpenGL, за исключением того, что ваша камера находится в реальном мире.Вместо того, чтобы выбирать поле зрения и ориентацию камеры, вам нужно будет измерить его.

Вам нужно будет знать положение камеры (панорамирование / наклон или наклон / поворот / рыскание), чтобыдля наложения графики правильно.

Вам не понадобится проекция Меркатора.Я предполагаю, что поле зрения камеры относительно небольшое (т.е. около 40 градусов по горизонтали или около того), поэтому обычно можно предположить, что проецируемая поверхность представляет собой прямоугольник (технически это небольшой участок от сферы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...