Я сделал много 360 фотографий, и на каждой фотографии я знаю, где находится север (это всегда середина).
Например: если ширина изображения 4096, то север равен 2048.
Загрузка изображения в VrPanoramaView загружает середину изображения по умолчанию. Так север на картинке, находится в середине экрана. Что приятно.
Моя цель:
- для загрузки изображения
- поверните его на север
- отключить сенсорный ввод и положиться на гироскоп, чтобы держать вращение вправо
VrWidgetRenderer имеет метод панорамирования:
public void onPanningEvent(float translationPixelX, float translationPixelY) {
if (this.nativeRenderer != 0L) {
this.nativeOnPanningEvent(this.nativeRenderer, translationPixelX, translationPixelY);
}
}
Используя датчики (только датчики, без GPS), я могу получить значение азимута для севера.
Теперь я бы хотел перевести эту разницу в градусах на север, в событие панорамирования в пикселях.
translationPixelX недокументирован, поэтому я не знаю, что это такое или что происходит в nativeOnPanningEvent.
Если я назову его со значением translationPixelX 1, или 4096, или 1080 (ширина экрана), оно не будет работать так, как мне кажется.
- 4096 (ширина изображения) не поворачивается на 360 градусов. Это меньше.
- 1080 (ширина экрана) не поворачивается на 90 градусов. Это меньше.
С каким значением я должен вызывать onPanningEvent для поворота на 360 градусов?