I’m trying to write an algorithm to generate the “ceiling panel” from a horiontally wrappable panoramic image like the one above. Images 1 to 4 are a straight cut out for the walls of the cube but the ceiling will be more complicated as I assume it needs to be composited from parts 5a to 5d. Does anyone know the solution in pseudocode?
my guess is that we need to iterate over the coordinates of the ceiling tile
i.e.
for y=0 to height
for x=0 to width
colorofsomecoordinateonoriginalimage = some function (poloar coords?)
set pixel(x,y) = colorofsomecoordinateonoriginalimage
next
next

Hum… I remember doing something like that for computer vision class one time back in grad school. It’s not impossible but a LOT of work needs to be done. One way would be to degrade the entire product’s quality. That’s the easiest starting point. Once you degraded it enough (depending on how much you need to stretch the edges), you can start applying nonlinear transformations to the image. This is probably best done approximating by maybe cutting out sections of the cylinder by degrees and then applying one of the age old projections used in making flat maps (like Mercator or CADRG or something)… but you have to remember to interpolate the pixels, make sure you at least do an averaging of the pixels to approximate. That’s the best I can think of.