Как спроецировать сферическую карту на сферу/куб: от равноугольной до кубической

ОБНОВЛЕНИЕ: я обнаружил, что http://os.ivrpa.org/panosalado/wiki , имеет реализацию на java. У кого-нибудь есть что-то подобное на C или C++?

У меня есть эта панорама, сферическая карта из google streetview, и я хочу отобразить ее на сфере/кубе. Ниже приведены некоторые примеры и иллюстрации, я ищу библиотеку, которая может это сделать, или некоторые руководства по реализации.

панорама

Я пробовал http://krpano.com/docu/tutorials/quickstart/#top что дает результаты, перечисленные внизу. Он иллюстрирует то, что я хочу, но ось вращения отключена. Мне нужно создать виды прямо вперед и назад, влево и вправо. В идеале я хотел бы сопоставить его со сферой и сказать, какие углы извлекать (ориентация куба).

[Назад, Вниз, Вперед, Влево, Вправо, Вверх]

Назад«Вниз» ШрифтСлева СправаВверх


person Poul K. Sørensen    schedule 30.03.2012    source источник
comment
Входное изображение 360x180 градусов.   -  person Poul K. Sørensen    schedule 30.03.2012


Ответы (1)


Вы можете легко сделать это в POV-Ray, поместив камеру в центр сферы, на которую наложена ваша текстура. См. image_map map_type 1 и, например, этот пример.

Но на самом деле это очень легко реализовать самостоятельно, предполагая, что входные изображения представляют собой своего рода цилиндрическую равноудаленную или равнопрямоугольную проекцию: для каждого (x, y) в выходном изображении, которое вы визуализируете, просто используйте обратные формулы для вычисления (долготы, широты) во входном изображении и интерполяции/копирования значения пикселя.

person timday    schedule 30.03.2012
comment
Это выглядит интересно, но я думаю, что ищу более простое решение, какой-нибудь код на С++, где я могу настроить параметры и использовать его в своем алгоритме. Посмотрю, придут ли другие с некоторыми ответами, прежде чем принять. - person Poul K. Sørensen; 31.03.2012