Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to project a spherical map onto a sphere / cube: "Equirectangular to cubic"

UPDATE: I found that, http://os.ivrpa.org/panosalado/wiki , has an implementation in java. Anyone who has something similar in c or c++?

I have this panorama, an spherical map from google streetview, and want to map this on a sphere/cube. Below are some examples and illustrations, what i seek is a library that can do it, or some implementation guides.

panorama

I tried http://krpano.com/docu/tutorials/quickstart/#top that gives the results listed at the bottom. It illustrates what i want, but the rotation axis is off. I need to create the views of direct ahead and back, left and right. Ideal i would like to map it to the sphere and tell it what angles to extract (the orientation of the cube).

[Back,Down,Front,Left,Right,Up]

BackDownFontLeftRightUp

like image 257
Poul K. Sørensen Avatar asked Mar 30 '12 18:03

Poul K. Sørensen


1 Answers

You could do this easily in POV-Ray putting the camera in the middle of a sphere mapped with your texture. See image_map map_type 1 and e.g this example.

But really this is very easy to implement yourself, assuming the input images are some sort of cylindrical equidistant or equirectangular projection: for each (x,y) in the output image you are rendering, just use the inverse formulas to compute a (longitude,latitude) in the input image and interpolate/copy over a pixel value.

like image 89
timday Avatar answered Oct 22 '22 12:10

timday