Преобразование значений x/y в виде камеры в значения панорамирования/наклона

Если у меня есть камера, которая выдает значения панорамирования (x) и наклона (y) на 360 градусов, и я хочу получить значения панорамирования и наклона того места, где у меня находится курсор в поле зрения камеры, как мне преобразовать это?

Дополнительная информация: Это проект Flash/AS3. Значения панорамирования и наклона берутся из центра поля зрения камеры. Размер изображения с камеры 960х540.


person Community    schedule 21.05.2009    source источник
comment
Я не думаю, что вы предоставили достаточно информации для этой проблемы.   -  person Paul Sonier    schedule 22.05.2009
comment
Спасибо, я отредактировал его, добавив немного больше информации и попытался перефразировать... не знаю, станет ли легче понять, что мне нужно, но я надеюсь на это.   -  person    schedule 22.05.2009
comment
Лучше, но вам нужно определить, что означают значения панорамирования и наклона. В частности, какова связь между всей областью значений панорамирования и наклона (360 градусов) и общим видом экрана; т. е. сколько общего панорамирования и наклона занимает вид экрана?   -  person Paul Sonier    schedule 22.05.2009
comment
О... это одна из вещей, которых я на самом деле не знаю. Исходное изображение 4552x2276, но затем оно было обработано каким-то программным обеспечением в панораму swf, где я не могу точно сказать, сохранились ли эти размеры.   -  person    schedule 22.05.2009
comment
Хорошо, если мы предположим, что если я смотрю прямо в свой монитор, у нас есть некоторый вектор, указывающий, так сказать, направление экрана. И если вы перемещаете мышь вверх и вправо по экрану, вы хотите знать дельта-угол в повороте / наклоне, чтобы вы могли обновить свою камеру, чтобы она указывала в этом направлении?   -  person ralphtheninja    schedule 22.05.2009
comment
Вроде да.. Я все еще пытаюсь выяснить, какой угол дельты, извините. :) Если я щелкну где-нибудь в поле зрения камеры, я бы хотел, чтобы камера двигалась и центрировалась в том месте, где я щелкнул, как вы говорите. Поэтому мне нужно преобразовать эти координаты x/y, которые я получаю от курсора в поле зрения камеры 960x540, в значения панорамирования/наклона.   -  person    schedule 22.05.2009
comment
У вас все еще есть проблемы с этим?   -  person ralphtheninja    schedule 04.07.2009


Ответы (1)


Вы указали размер "представления" в пикселях. Что вам нужно знать, так это поле зрения (FOV), которое измеряется в градусах. Из этого вы можете определить количество градусов от центра до краев изображения.

Возможно, вы сможете найти FOV в технических характеристиках вашей камеры. (Определяется размером решетки детектора и фокусным расстоянием). Как вариант, можно попробовать измерить. Вот веб-страница, которая объясняет, как:

http://www.panohelp.com/lensfov.html

person nsanders    schedule 14.09.2009