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

обновление: Я нашел это,http://os.ivrpa.org/panosalado/wiki, имеет реализацию в java. Кто-нибудь, у кого есть что-то подобное в c или c++?

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

panorama

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

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

BackDownFontLeftRightUp

1 ответов


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

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