I've been having fun processing pictures in strange ways lately, so I decided to look around my drawer of old programs that I abandoned. I found a simple system that I came up with for displaying isometric 3 dimensional images, and have modified it to work with images.
The way it works is fairly simple. Every pixel in the image is looped through. At every pixel a measurement of brightness is made. That measurement is mapped to a value between one and ten. This value dictates how high the isometric tower will be at the position of that pixel in the output image. To make the tower there is a loop that repeats from 0 up to the mapped brightness value, drawing bottom up so that it looks 3 dimensional. By drawing everything in just the right order I can use simple bitmaps of a cube that overlap each other forming the 3d image. The color they are filled in with corresponds to the color in the original image.
There are some weird results, as you can see in the examples. Some images almost map perfectly into 3d representations of the objects that are within them. Others don't work so well for this, or have parts that work better than others. Not much use in it, but it looks pretty cool.
To Do
Figure out how I got old Isomapper code to work.
Modify Isomapper to allow images to be processed and displayed.
Make it work for any image (almost).
Get movies to display through it.
Reduce memory issues.
Create a scrollable interface for larger images.
Timeline
10/23/09 (5:23)-Found old tonal isomapper from when I was playing around with creating visualizers for music.
10/23/09 (5:45)-I've finished modifying the isomapper code to work with images, should work but still requires testing.
10/23/09 (6:03)-Figured out how to solve an error related to a lack of memory that I am allowing to be used by the program. Seems that large images just will not work very well because of memory and screen space constraints.
10/23/09 (6:21)-Completely finished and working.