|
Submitted by , posted on 31 August 2001
|
|
Image Description, by
I thought I'd send in something a little bit different. I've written a Java
applet that combines a depth-map and a pattern to produce
stereogram/"magic-eye" images. If you've never heard of them before, they
are pictures that hide a 3D image which can been seen by focusing your eyes
in a certain way. The algorithm for producing these is actually very simple
to implement.
Here is a diagram of light-rays bouncing off a point on a object and into an
observer's eyes, who is focused on that point:
Object point
/\
/ \
/ \
/ \
/ \
/ \
/ \
Left eye Right eye
|
The way you see is very complex, but basically both eyes are seeing the same
image so your brain can tell how far away the object is based on you focus.
Now, imagine placing a piece of paper between yours eyes and the object and
colouring in where the light-rays intersect it:
Object point
/\
/ \
/ \
---x------x--- Paper
/ \
/ \
/ \
Left eye Right eye
|
As long as your eyes are still focusing at the same point (*not* on the
paper) your brain is fooled into thinking that the light coming from the two
nearby points is actually from one point further away. Also, observe that if
the object was to be moved closer, the intersections would be closer
together. So, by placing matching pairs of points in an image and focusing
differently, you can fool the brain into seeing a 3D image from a 2D one.
If you have trouble seeing stereograms, I'll give you some tips. Make
sure your eyes are parallel to the horizontal edge of your monitor and you
are positioned in the middle of it, otherwise the matching points won't
align properly. Focus behind the screen to start with by going slightly
cross-eyed and keep adjusting focus until another image begins to appear. If
you don't have this much control on your focus (some people find that
difficult), just stick your eyes against the monitor and slowly move your
head back without trying to focus on the monitor. There's no reason why
anyone can't see them, so just keep trying.
Also, viewing this image at a 1280x1024 resolution, I can see the stereogram
easily at sitting distance from my monitor. If the image appears bigger on
your screen, you will have to move further away to see it (which most people
will find much harder).
If you want to try out some more stereograms and view the source code for
producing them, along with some other applets, go to
www.smiley-face.freeserve.co.uk/programming/
|
|