Stereogram FAQ


Archive-name: Stereogram-FAQ
Last-modified: June 6th, 1994
Changes-to: Stuart Inglis (singlis@cs.waikato.ac.nz)

Whats new??
[7] What is a SIRTS/Ascii-Stereogram Updated
[23] Multiple stereograms NEW!
[24] Losing the color NEW!
[25] C code for Windows NEW!
[44] Call for stereograms NEW!

Contents

General questions:
[1] What is a
SIRDS/Stereogram/Hollusion/SIS?
[2] Terminology
[3] How do I see them? Everyone else can see them....
[4] Where can I buy the posters from?
[5] How can I generate them myself?
[6] Which books/papers should I read?
[7] What is a SIRTS/Ascii-Stereogram
[8] Where is most of the discussion about SIRDS?
[9] Internet locations for material (lots of pictures!)
[10] Stereogram History

Stereogram creation:
[21] How can I write my own programs?
[22] Creation of SIS
[23] Multiple stereograms NEW!
[24] Losing the color NEW!
[25] C code for Windows NEW!

Miscellaneous/problems:
[41] Stereogram Anecdote
[42] Buying commercial programs
[43] The image I see is "inverted" or "sunk-in"!
[44] Call for stereograms NEW!


Subject: [1] What is a SIRDS/Stereogram/Hollusion/SIS?

Have you walked through a mall lately? These days, as you wander past most of the poster shops, there will be a large group of people staring at the same poster with surprisingly weird expressions on their faces. Some will be in the initial stages of denial or rejection---they will be concentrating, some slowly rocking their heads backwards and forwards, searching for an image that they have never seen before. Others will be grinning from ear to ear, pointing at the poster, chuckling with their friends that a member of their group hasn't seem them yet. "Come on Bill, come on!", they cry and as Bill gets increasingly more frustrated he concentrates harder and harder, until finally (if he's lucky) he sees a true 3D image, without the need for special glasses or equipment.

These pictures are known as Single Image Random Dot Stereograms (SIRDS), or Single Image Stereograms (SIS) depending on whether the picture contains random dots as a base for the 3D effect, or a repetitive pattern. Unfortunately, each commercial company has labelled them differently. Shop owners generally don't know what you mean, unless you say "Hollusion" or one of the many other specific names.

Stereogram Mechanism

-- Cristian Alb (luminita@poincare.mathappl.polymtl.ca)

Disclaimer:
All the opinions and ideas presented in this [article] are mine and are the result of my own reflections on the subject.

Purpose:
This document wants to provide an easy understanding of the mechanism of 3-D perception related to stereograms. Due to the fact that it is the result of genuine thinking, I hope that this document provides a more intuitive approach to the subject.

What is a stereogram ?

In this document I refer to stereogram (though, single image stereogram would be more correct) as being something like the image that follows:

/=-- Y+-z-/=-- Y+-z-/=-- Y+-z-/=-- Y+-z-/=-- Y+-z-/=-- Y+-z-/=-- Y+-z-/=-- Y+-z
 *wm  @m@w *wm  @m@w *wm  @m@w *wm  @m@w *wm  @m@w *wm  @m@w *wm  @m@w *wm  @m@
O@=*+z @:/O@=*+z @:/O@=*+z @:/O@=*+z @:/O@=*+z @:/O@=*+z @:/O@=*+z @:/O@=*+z @:
:*/- :m: *:*/- :m: *:*/- :m: *:*/- :m: *:*/- :m: *:*/- :m: *:*/- :m: *:*/- :m: 
)*/O@-Y|- )*/O@-Y)*/O@-Y)*/O@-Y)*/O@zO@)*/O@z zO@)*/O@zO@)*/O O@zO@*/O O@zwO@*/
*):O*zO((@*):O*zO*):O*zO*):O*zO*):O*mO*z):O*mO(O*z):O*(O*z):+:O*(O*):+:O*()O*):
m))@z@-+m~m))@z@-m))@z@-m))@z@-m))@z*@z@-m@z*@z@@@-m*@z@@@m@-m*@z@@m@-m*@z @@m@
z:+*O-mm*Yz:+*O-mz:+*O-=O-mz:+*O-=O-mz:+*O--mz:+***-mz:+*)***-mz:+****-mz:-+***
m@: @:~+( m@: @:~m@: @: @:~m@: @: @:~m@: @: @m@: @: @m@/@: @: @m@/@ @: @m@+/@ @
-+(*m- o-)-+(*m- -+(*m-Om- -+(*m-Om- -+(*m-Om-+(*m-Om-+-+(*m-Om-+-+*m-Om-+|-+*m
m*m  |== *m*m  |=m*m  |=m*m     |=m*m     |=m*m   |=m*m*m   |=m*m*m  |=m*m+*m  
+ YY/ + ) + YY/ ++ YY/ ++ YY/*Y/ ++ YY/*Y/ ++ Y*Y/ ++-+ Y*Y/ ++-+ YY/ ++-+* YY/
zY=) w ~/YzY=) w zY=) w zY=) z) w zY=) z) w zY=z) w zmzY=z) w zmzY=) w zmz|Y=) 
+ oY*:+:ow+ oY*:++ oY*:m*:++ oY*:m*:++ oY*:m*:+oY*:m* *:+oY*:m* *:+Y*:m* *z:+Y*
@ z++ *zo)@ z++ *@ z++ w+ *@ z++ w+ *@ z++ w+ *z++ w+ + *z++ w+ + *++ w+ +* *++
()=ww+  *O()=ww+ ()=ww+-w+ ()=ww+-w+ ()=ww+-w+ =ww+-w+w+ =ww+-w+w+ ww+-w+w=+ ww
z     +wO z     +z     +  +z     +  +z     +  +    + =  +    + =  +   + = ( +  
o +@~@= ozo +@~@=o +@~@+~@=o +@~@+~@=o +@~@+~@=+@~@+~@~@=+@~@+~@~@=@~@+~@~z@=@~
)(w=++ +~z)(w=++ +~z)(w=++ +~z)(w=++ +~z)(w=++ +~z)(w=++ +~z)(w=++ +~z)(w=++ +~
mz- O @  =mz- O @  =mz- O @  =mz- O @  =mz- O @  =mz- O @  =mz- O @  =mz- O @  
If you stare at this image by trying to focus on something behind the image, you will be able to see, after some-time, a 3-D scene with the letters F Y I detaching from the background. (If you read this document on a monitor it is easier to focus on your image reflected on the screen in order to get the 3-D illusion. If you read this document on paper, try to put a glass in front of it and do the same thing.)

To understand the mechanism which allows you to get this peculiar effect, we should take a look at the process of vision.

The feeling of "depth" that you get by looking at a statue instead of looking at a photo of the same statue, is due to the fact that the human body has two eyes.

In the above example with the statue, we need just one eye to get the general shape of the statue. A humble photo does the same. It is the second eye that provides some "extra" information. This extra information is the "depth" of the various parts of the statue. In fact a "photo" gives just a bi-dimensional (x,y) representation, to get the third dimension (z) you need some "extra".

                y
                 |       |---------
                 |    z  | Photo  |
                 |    /  |        |
                 |  /    ---------|
                 |/_______ x
By having two pictures of the same object, taken by two different positions, which is the case of the human eyes, you can get the "z" coordinate to that object. It is a simple geometrical question.

In fig.1 we assume that there are 2 objects, X and Y which are at the same height (y) and different depths (z) and positions (x)

|------------------------------------------------------------|  
|                                                     Fig.1  |    
|                                              z             |   
|                                         y    |             |  
|                    Y                      \  |             |    
|                                             \|_____x       |   
|                                                            |    
|                                                            |   
|                                                            |   
|                                                            |    
|                                                            |   
|                  X                             ^           |   
|                                                |           |    
|                                                |           |    
|                                                |           |   
|                      (o)     (o)                           |   
|                                             watching       |    
|                  left-eye  right-eye        direction      |   
|                                              (depth)       |   
|------------------------------------------------------------|   
In fig.2 are shown the kind of "pictures" that each eye gets:

(fig.2L -left eye, fig.2R -right eye; the '+' marks the center of each picture)

|------------------------------| |-----------------------------|
|                       Fig.2L | |                      Fig.2R |
|                              | |                             |
|                              | |                             |
|                              | |                             |
|        X Y +                 | |    X       Y   +            |
|                              | |                             |
|                              | |                             |
|                              | |                             |
|                              | |                             |
|------------------------------| |-----------------------------|
As you can notice the 'X' shifts more than the 'Y' from one picture to another. This is an indication that the X object is 'closer' than Y.

shift.X = d.hrz.right ( X, '+') - d.hrz.left ( X, '+')

shift.Y = d.hrz.right ( Y, '+') - d.hrz.left ( Y, '+')

where "dx.hrz.hhh ( A, '+')" means distance (on the horizontal axis) in the hhh picture from object A to origin/center.

Furthermore, with good approximation we can say that any objects with the same 'shift' are at the same "depth" (z)

In the same way, the eyes forward to the brain two slightly different pictures. It is the brain that must "compute" a 3-D representation of the scene. The difficulty is to know which pairs must be associated to "compute" the z-coordinate. In the example above it's easy to assume that the 'X' from each picture is associated to one 'X' object. The same goes for the two 'Y'. But the images that the brain gets to compute, can be quite complicated. What if there are more X-s and Y-s in each picture ? How does the brain establish the "couples" for which to calculate the shift/depth ? A clue is that each pair must be on the same height (y). Which means that the brain should not try to associate spots, patterns that are located at different heights. But that is not enough !

The 'brain' can make mistakes in this process of designation of pairs! It is that which make possible the 3-D feeling that we get from stereograms.

The simplest stereogram that we can get is something like-this:

       
_______________________________________________________________ 
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|     *         *         *         *         *         *     |
|-------------------------------------------------------------|
Column:1        2         3         4         5         6        
Using the same procedure as in the beginning of this document you should be able to see the same '*' columns but "somewhere behind" this document.

In fig.3 (Left/Right) I have represented the kind of pictures that the eyes forward to the brain when looking at the preceding stereogram. (notice '+', the center)

|-------------------------------| |-----------------------------|
|   :    :    :    :    :Fig.3L | |:    :    :    :    : Fig.3R |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :   +:    :    :    :  | |:    :    :    :    +    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|   :    :    :    :    :    :  | |:    :    :    :    :    :   |
|-------------------------------| |-----------------------------|
column:
    1L   2L   3L   4L   5L   6L    1R   2R   3R   4R   5R   6R
Normally the brain will associate the columns in the following way:
1L-1R, 2L-2R, 3L-3R, 4L-4R, 5L-5R, 6L-6R

but it can happen that the brain does the following association:

1L-2R, 2L-3R, 3L-4R, 4L-5R, 5L-6R, ?-1R, 6L-?

Remember: All columns look alike !

Of course it is possible that the brain makes other associations of these kinds:

1L-3R, 2L-4R, 3L-5R,... or 2L-1R, 3L-2R, 4L-3R,... etc.
but in these cases the resulting 3-D representations makes no sense, or are very little alike.

It can be noticed that by choosing a diferent association of columns the "shift" between the images of the objects changes. As a result the "depth" of the perceived objects changes. In the association 1L-2R, 2L-3R,... the shift is reduced -> the "depth" increases -> the columns seem somewhere behind.

Is it possible to determine exactly the power of the brain in matching complicated images ? I thought, some time ago, what would happen if we put someone in front of a large panel situated at a convenient distance (so that the eyes are relaxed) and the panel is full of randomly disposed spots. The spots should be all alike and in very great number, very small but big enough to not became a uniform gray. The brain should be overwhelmed by the great number of matches that it must try. What will happen ? The person will get dizzy ? get a headache ? Or will the person be forced to see just a gray fog ?


Subject: [2] Terminology

Different types of images:
Autostereogram: Original name for a SIRDS
RDS: Random Dot Stereogram
SIRDS: Single Image Random Dot Stereogram
SIRTS: Single Image Random TEXT Stereogram (also known as ascii stereograms)
Stereogram: This is a general, simplified term for SIRDS and SIRTS (occasionally stereo-pairs)

Different viewing actions:
Wall-eyed: Converging eyes past the actual image
Cross-eyed: Converging in front of the image
Infinity-focus: Forcing your eyes' lines of sight to be parallel (not necessary for wall-eyeing SIRDS)


Subject: [3] How do I see them?

Most Stereogram pictures are usually generated so that if you look at (converge your eyes on) a position twice as far away as the picture, and focus on the picture, generally after a few minutes you see a surprising 3D image!

Most people find this extremely difficult for the first time. You have to focus on a point which is different from where you are looking. This is known as "de-coupling" your vision process. Instinctively people focus at the same point they are looking at, and this is the main obstacle in seeing images of this type.

This is why most posters come with a reflective surface such as glass or plastic covering them---if you try to look at your reflection you will be looking at a point twice as far away as the actual poster. It has been noted by almost everyone that while this sometimes helps beginners see the 3D effect for the first (and perhaps even the first few) times, experienced viewers to not need any help like this, and indeed the reflection is usually very distracting and decreases the quality of the 3D effect.

There are many ways to teach this de-coupling to either yourself or to others, including (in almost no particular order):

NOTE: It is generally easier to see Stereograms under bright light. I have been told this is because you eye relies less on focus under harsh conditions. Another point, to see stereo images, you need to have "passable" use of both eyes. If you wear glasses try with and without them on. Some short-sighted people can see them easier without their glasses on (if they get closer to the picture).

The pull-back

Hold the picture (or move your face) so your nose is touching the picture. Most people than can not possibly focus with something this close to their eyes, and they will be content with their inability to focus. With the picture up close, pretend that you are looking straight ahead, right through it. Now slowly pull the picture (or your face) away while keeping your eyes pointed straight ahead. If you do this slow enough, an image usually appears when the picture is at the correct distance.

The reflection

As mentioned above, with a reflective surface it is sometimes a lot easier to converge your eyes in the correct position. You simply focus on your nose or some central reflection in the picture, and wait until you focus on the image.

The drunk-eyes

This method is used to describe the feeling of the process of deconverging your eyes. It is very much like being drunk or having "staring-eyes". Your eyes don't look at the object, but rather through it. This state is common to some in the morning before the coffee caffine fix.

The wall, or the finger

Hold the picture so that it is half between you and a wall. Look *over* the top of the picture towards the wall, and focus on something such as a picture hook or mark. While keeping this "gaze" either slowly lift the picture or lower your eyes while keeping them converged on the wall.

A similar approach (but for cross-eyed viewing) is to stand arm's length away from the picture and put your finger on the picture. While slowly pulling your finger towards your face, keep looking at your finger, you will notice the picture becoming blurry, and at an intermediate position you will (eventually) see the 3D image.

The see-through

If it is possible, photocopy the picture onto a transparency. Then focus through the transparency onto something twice as far away. This is similar to (The wall, or the finger) above except now you don't need to change the position of your gaze.

Cheating...

To cheat, photocopy the image onto two transparencies, then overlay them and carefully shift them horizontally so they are about an inch or two out of alignment. Somewhere around this position you will see a rendition of the image. Obviously in 2D not 3D, but you will at last finally believe there is "somethere in there."


Subject: [4] Where can I buy the posters from?

For those who do not have a local SIRDS distributor (i.e., the poster cart at the mall), here are a few companies you may be able to order from.

------------- Infix Technologies -------------

$20 Earth (mercator projection of the Earth's altitudes)
$20 Salt Lake LDS Temple Centennial
$20 Beethoven (300 DPI! Very smooth.)

These prints are 18x24 inches. Retail price for the 18x24 inch prints is $20 plus $3 s/h. Utah residents add 6.25% sales tax. Wholesale and distributor discounts are available. Quotes for custom work are also available. Cost and minimum order varies, based on content.

PO Box 381
Orem, UT 84057-0381,USA
Ph: (801) 221-9233
email: John M. Olsen (jolsen@nyx.cs.du.edu)

------------- Inner Dynamics, Inc. -------------

(Distributors)
Privileged Traveler
4914 Brook Road
Lancaster, OH 43130, USA
(614) 756-7406

Glow in the Dark Poster Series - $22 (size: 18" X 24")

"Knight Vision" - suspended chess board with chess pieces above the board in daylight viewing; also an area in the center that has a Knight chess piece; random dot pattern glows and is viewable in the dark!!
Premium Color Series - $16 (size: 18" X 24")
"Gecko" - twin Gecko lizards
"I Think Therefore I Am" - well known quote surrounded by stunning visuals
"SoulMate" - hearts, spirals, and other symbols, for that special person
"The Mighty Unicorn" - unicorn, mystical castle, wizard, and flying dragon
"Excalibur" - legendary sword in the stone, castle, knights, etc.
"Where's Wilbur?" - can you find him in the forest?
Optimum Series - $15 (size: 24" X 36") (black and white)
"Beyond Reality" - hearts, spirals, other cool shapes; extremely detailed
"20/20 Third Sight" - an eye chart done in 3D
"Illusions" - a labyrinth, try to find your way out!
"Meditation" - contains an ancient mandala, a real stress buster
"DreamWeaver" - unusual geometric shapes, `helps' induce lucid dreaming and dream remembrance
"Icons" - the five symbols of life; very stunning visuals
"Rainbows" - see color on a black and white poster (Not a 3D poster)

Retail prices (USA) stated above plus $3 S&H (USA) - call for overseas S&H. Ohio residents add 5.5% sales tax.

------------- Altered States -------------

92 Turnmill St,
Farringdon,
London, EC1, U.K.
+44 (0)71 490 2342
Paul Dale (P.A.Dale@bath.ac.uk)
tel: +44 (0)225 826 215

------------- N.E. Thing Enterprises -------------

Send a catolog request to:
N.E. Thing Enterprises
19C Crosby Drive
Bedford, MA 01730, USA.
-- info from: Neal T. Leverenz (at802@yfn.ysu.edu)


Subject: [5] How can I generate them myself?

There are many fine programs for generating SIRDS out there in the Internet. The following programs are available from ftp://katz.anu.edu.au/pub/stereograms(IP 150.203.7.91). Here is a list of the ones I currently know about:

Acorn
mindimg
PC
3DRANDOT
ANIM - 3D animation, in 3D
DYNAMIC
HIDIMG - SIS as well as SIRDS. You can use a pattern, save BMP files
MINDIMG - Stereopairs (red/blue, red/green) as well as SIRDS
PERSPECT
RDSDRAW
SHIMMER - making it easier to see SIRDS
SIRDSANI
SIRDSVU11
VUIMG340
Mac
random-dot-autostereograms
Unix/X
xpgs - 3D objects
rle2pgm - converts the popular MINDIMG format to PGM
RaySIS - SIS raytracer


Subject: [6] Which books/papers should I read?

Books

"Stereogram"
(c) 1994, Cadence Books, P.O. Box 77010, San Francisco, CA 94107, USA.
A newly edited version of CG STEREOGRAM and CG STEREOGRAM 2,
published by Shogakukan Inc. In Tokyo, Japan"

ISBN 0-929279-85-9
US$ 12.95
I liked it. Much better in my opinion than the other Stereogram book I've seen ("Magic Eye"). This one includes much textual information, including the origins of stereograms, how to see them, precursors such as stereo pairs, and an article by Christopher W. Tyler, who invented the SIRDS. Best of all were the stereograms themselves. There are roughly 50 SIRDS, most of them full page (the book is softcover and about 8" square). The ones I've managed to see so far have been quite good, and also included are some of the very first ones. In the history department there are stereo pairs, stereo photographs, and even some stereo-pair paintings by Salvador Dali. All of the stereograms indicate whether they require wall-eyed or cross-eyed viewing (or either). Most are true 3d designs, not the "cutout" variety. The book is 93 pages and most of the plates are full-color. Well worth the money in my opinion.
-- Michael Moncur (mgm@xmission.com)
I highly recommend the new book "Stereogram" by Cadence books, ISBN #0-929279-85-9 (in Canada). It is a fantastic book that includes hundreds of stereograms, stereo pictures, RDS's, lots of very interesting writeups on the history of stereograms, a cool section on Salvador Dali (stereo pair aritst). The concentration of course is on the pictures. The book is just under 100 pages. Much better value then Magic Eye. It's even got some cool cross-eyed only viewing stereograms, which I'd never seen before this (I'd always used the other technique). If you have *any* interest in stereograms, buy this book, you won't regret it!! At $17 Cdn, it's not that much either, considering the amount of time you'll spend revelling in the 3d inside.
-- Ian Sewell (3386005@queensu.ca)

"Principles of Cyclopean Perception"
(c) 1972 by Bela Julesz,
MIT press. Considered by most as the original work oPn Random Dot Stereograms:
-- Charles Eicher (CEicher@Halcyon.com)

"Magic Eye: A New Way of Looking at the World"
(c) 1993 by N.E. Thing Enterprises.
Andrews and McMeel, A Universal Press Syndicate Company
Kansas City, USA. ISBN: 0-8362-7006-1
First Printing, September 1993 ... Fifth Printing, January 1994
Introduction contains a history of the technique and phenomena. Viewing Techniques are explained. 25 pages of full-color STARE-E-O images. (Plus images inside the front and back covers.) "Answers" included. 32 pages, hardcover, 8.75x11.5 inches, horizontal format, with slipcover.
US$12.95 ($16.95/Canada)

"Magic Eye II: Three Dimension Trip Vision"
(c) 1992 by N.E. Thing Enterprises/Tenyo Co., Ltd.
Korean Translation (c) 1993 by Chungrim Publishing Co.
All the text is in Korean, so I can't read it. But it has some pretty cool pictures. They are all SIRxS where x is various patterns/pictures. I paid US$20 for it. Interestingly, this title doesn't seem to be mentioned in my N.E. Thing catalog.
-- Mark Hudson (M_Hudson@delphi.com)
They've taken the technique a step further by applying the pseudo-random patterns as noise superimposed over another image. You look at the pages of this book and see one image, then cross your eyes and concentrate on the replicated patterns in the background noise and see the second image. It's kinda cute.
-- Robert Reed

"Das magische Auge" (German version of "Magic Eye")
(c) 1994, arsEdition, Munich
ISBN 3-7607-8297-3
DM 29,- (seen at a store for this price)

"Stereo Computer Graphics and Other True 3D Technologies"
(c) 1993, David F. McAllister, Ed.
Princeton University Press
ISBN 0-691-08741-5 US$75.00
It has several nice color plates, with stereo "triads". The triads consist of a left, a right, then another left image. Use the left pair for viewing walleyed, or the right pair for viewing crosseyed.
-- Mike Weiblen (mew@digex.net)

"Random Dot Stereograms"
(c) 1993, Kinsman Physics, P.O. Box 22682, Rochester, NY 14692-2682, USA.
An excellent source of information (sample RDS and source code)
-- Eric Thompson (E.Thompson@ncl.ac.uk)
ISBN 0-9630142-1-8
US$ 13.95

"Human Stereopsis. A psychological Analysis"
(c) 1976, W.L. Gulick and R.B. Lawson,
Oxford University Press.

Papers

B. Julesz and J.E. Miller, (1962) "Automatic stereoscopic presentation of functions of two variables" Bell System Technical Journal, 41: 663-676; March.

R.I. Land and I.E. Sutherland, (1969) "Realtime, color, stereo, computer displays" Applied Optics, 8(3): 721-723; March

D. Marr and T. Poggio, (1976) "Cooperative computation of stereo displarity" Science, 194: 283-287; October 15

D. Marr and T. Poggio, (1979) "A computational theory of human stereo vision" Proceedings Royal Society of London, B204: 304-328 Science, 194: 283-287; October 15

G.S. Slinker and R.P. Burton, (1992) Journal of Imaging Science and Technology, 36(3): 260-267; May/June

D. G. Stork and C. Rocca, (1989) "Software for generating auto-random-dot stereograms", Behavior Research Methods, Instruments, and Computers 21(5): 525-534.

H.W. Thimbleby and C. Neesham, (1993) "How to play tricks with dots" New Scientist, 140(1894): 26-29; October 9

H.W. Thimbleby, S.J. Inglis, and I.H. Witten, (1994) ftp://ftp.cs.waikato.ac.nz/pub/SIRDS (IP 130.217.240.3), in press.

C.W. Tyler and M.B. Clarke, (1990) "The Autostereogram" SPIE Stereoscopic Displays and Applications 1258: 182-196

C. Wheatstone, (1838) "Contributions to the physiology of vision. Park I. On some remarkable, and hitherto unobserved, phenomena of binocular vision" Royal Society of London Philosophical Transactions 128: 371-394

C. Wheatstone, (1838) "Contributions to the physiology of vision. Park II. On some remarkable, and hitherto unobserved, phenomena of binocular vision (continued)" The London, Edinburgh, and Dublin Philisophical Magazine and Journal of Science, series 4, 3: 504-523


Subject: [7] SIRTS/Ascii Stereograms

For people without graphics displays, or simply like having a 3D .signature, you can create a stereo effect using repetitive characters.

Text Stereograms (not random)

-- the following by Dave Thomas (dthomas@bbx.basis.com)

                            O   O
n   n   n   n   n   n   n   n   n   n   n   n   n   n   n  n
f    f    f    f    f    f    f    f    f    f    f    f   f
e   e   e   e   e   e   e   e   e   e   e   e   e   e   e  e
a    a    a    a    a    a    a    a    a    a    a    a   a
a   a   a   a   a   a   a   a   a   a   a   a   a   a   a  a
r    r    r    r    r    r    r    r    r    r    r    r   r
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r




 g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  g  
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r 
 e    e    e    e    e    e    e    e    e    e    e    e    
 a     a     a     a     a     a     a     a     a     a     
   t      t      t      t      t      t      t      t      t    
>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>><<
   d      d      d      d      d      d      d      d      d    
 e     e     e     e     e     e     e     e     e     e     
 p    p    p    p    p    p    p    p    p    p    p    p    
   t   t   t   t   t   t   t   t   t   t   t   t   t   t   t 
 h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  h  


-- the next few are by DR J (me90drj@brunel.ac.uk)
Look for his new upcoming Text Stereogram Guide---out soon!


     /^\           /^\           /^\           /^\           /^\
 ####################################################################
 ####################################################################
 _/    ####    _/   ####\    _/  #### \    _/ ####  \    _/####   \
/       ## \__/      ##  \__/     ##   \__/    ##    \__/   ##     \
   ____ ##     ____  ##    ____   ##   ____    ##  ____     ## ____
  /    \##    /    \ ##   /    \  ##  /    \   ## /    \    ##/    \
 |  2D  |#   |  2D  |##  |  2D  | ## |  2D  |  ##|  2D  |   #|  2D  |
 |  or  |#   |  or  |##  |  or  | ## |  or  |  ##|  or  |   #|  or  |
 |  3D  |#   |  3D  |##  |  3D  | ## |  3D  |  ##|  3D  |   #|  3D  |
 |  ??  |#   |  ??  |##  |  ??  | ## |  ??  |  ##|  ??  |   #|  ??  |
 |      |    |      |    |      |    |      |    |      |    |      |
 --------    --------    --------    --------    --------    --------
  \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\
   \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\    \\\\\\\\
     \\\\\\      \\\\\\      \\\\\\      \\\\\\      \\\\\\      \\\\\\



         /^\              /^\              /^\              /^\
     _  /   \        _   /   \       _    /   \      _     /   \     _
    / \_     \_     / \_/     \_    / \_ /     \_   / \_  /     \_  / \_
   /    \      \   /    \       \  /    \        \ /    \          /    \
__/      \      __/      \      __/      \      __/      \      __/      \
  xx      \    /xx        \   xx  \       \ xx /  \       xx   /  \     xx
x XX     x \_ x XX \    x   x XX   \   x  x XX     \  x x XX _/    \  x XX
X XX-x-x-XxX--X XX-x--x-XxX-X XX-x---x-XxXX XX-x----x-XxX XX-x-----x- X XX
XxXX X XxX    XxXX X  XxX   XxXX X   XxX  XxXX X    XxX XxXX X     Xx XxXX
  XXxX __X      XXxX  __X     XXxX   __X    XXxX    __X   XXxX     __   XX
  XX            XX            XX            XX            XX            XX
__XX      ______XX      ______XX      ______XX      ______XX      ______XX
(Cactii modified from a drawing by Chris Pirillo)



  \ .       \   .     \     .   \       . \        .\         \.
   \  .      \.   .    \ .    .  \  .     .\   .     \.   .    \  .  .
   \\    .   \\     .  \\      . \\       .\\        \\        \\
    \\     .  \\      . \\       .\\        \\        \\        \\.
     \\.       \\ .      \\  .     \\   .    \\    .   \\     .  \\
      *  .      *   .     *    .    *     .   *      .  *       . *
             .          .          .          .          .          .
        .            .            .            .            .
        .   .      .    .     .     .    .      .   .       .  .
          .           .           .           .           .           .
    . .        .  .       .   .      .    .     .     .    .      .   .

  ___/~\_/\____/~\_/\____/~\_/\____/~\_/\____/~\_/\____/~\_/\____/~\_/\_
  _/~~\_   _/~~\_   _/~~\_   _/~~\_   _/~~\_   _/~~\_   _/~~\_   _/~~\_




  .                 .                 .                 .              
          .                .                .                .
      +               +               +               +               +
     .                 .                 .                 .           
           *                 *                 *                 *
   .                .                .                .                
       .                 .                 .                 .
              +                +                +                +
  *                  *                  *                  *
              .                 .                 .                 .
    .                .                .                .               
          .                 .                 .                 .
         +              +              +              +              +
               .                .                .                .
      .                 .                 .                 .
          *                 *                 *                 *
  .                .                .                .                .
           .                 .                 .                 .
         +              +              +              +              +
               .                .                .                .
           *                 *                 *                 *
       .                 .                 .                 .
  *                  *                  *                  *
          .                 .                 .                 .
    .                .                .                .               
             +               +               +               +




                .           '            .           '
        .            '   *       .            '   *       .
              .                        .                        .
                    .         '              .         '
          _'   ____________________ '  ____________________  ' _
          |____|~~         _      |____|~~         _      |____|
                   _                       _
                  '          =            '          =
                                   /                     /
                .     --      ,.. /     .     --    ,.. /
                            ,`   ';               ,`   ';
                 .,.__    _,' /';  .   .,.__    _,' /';  .
               .:','  ~~~~    '. '~  .:','  ~~~~    '. '~
               :' (   )   .   ; ):;. :' (   )   .   ; )::;.
               '. '. .=----=..-~ .;' '. '. .=----=..-~  .;'
                '  ;' ::    ':. '"    '  ;'  ::   ':.  '"
          ~~~~~~  (:  ': ~   ;) ~~~~~~~ (:   ':  ~ ;)  ~~~~~~~~~
          '~       \\  '"   ./  '~       \\   '"  ./   '~
               ~    '"      '"       ~    '"      '"       ~


Subject: [8] Where is most of the discussion about SIRDS?

Most of the discussion about SIRDS has taken place in alt.3d . A lot of people would like to see the death of SIRDS, both due to the overwelming number of people asking FAQ's, and simply because there is much *much* better 3D out there than this!

Usually people post requests for information to newsgroups such as comp.graphics...unfortunately these people sometimes get flamed, get told it is *impossible* to draw them...if this has happened to you read alt.3d , viva la difference.


Subject: [9] Internet locations for material

Newsgroups
alt.3d newsgroup
(most SIRDS discussion is in this group)

Ftp sites
ftp://katz.anu.edu.au/pub/stereograms (IP 150.203.7.91)
(currently the definitive site)

ftp://ftp.amu.edu.pl/pub/chemia/steroskopia (IP 150.254.65.7)

ftp://gwaihir.dd.chalmers.se/pub/een/SIS (IP 129.16.117.21)
(SIRDS in TIFF graphic format)

ftp://sunsite.unc.edu/pub/academic/computer-science/virtual-reality/3d (IP 152.2.22.81)
(anaglyph programs, older archive of alt.3d)

ftp://techno.stanford.edu/pub/raves/visuals/graphics/pc/stereogram (IP 36.73.0.71)

Web pages
http://www.cs.waikato.ac.nz/~singlis/sirds.html
(SIRDS-FAQ location)

http://acacia.ens.fr:8080/home/massimin/index.ang.html
(contains lots of extremely nice pictures)

http://h2.ph.man.ac.uk/gareth/sirds.html
(Picture Gallery, organised by Chang and Richards, home of xpgs and SIRDSANI)

http://www.cs.uidaho.edu/staff/hart.dir/sirds
(Vern's SIRDS Gallery)


Subject: [10] Stereogram History

-- Robert Raymond, Mirages -- Moab, Utah
Last updated: 28-April-1994

1962
Julesz, B. and Miller, J. E. (1962) Automatic stereoscopic presentation of functions of two variables. Bell System Technical Journal. 41:663-676; March. Thimbleby (1990) refers to this article: "Julesz and Miller were the first to show clearly that a sense of depth could arise purely from stereopsis, without relying on other cues such as perspective or contours. they used random patterns of dots which, although meaningless to single eye viewing, nevertheless created a depth impression when viewed in a stereoscope."

The following additional information about Julesz seems to be from The Magic Eye, 1993, N.E. Thing Enterprises, Andrews and McMeel. I found it quoted in a newspaper article:

During the 1960s, a researcher named Bella Julesz was the first to use computer-generated 3-D images made up of randomly placed dots to study depth perception in human beings. Because the dot pictures did not contain any other information, like color or shapes, he could be sure that when his subject saw the picture it was 3-D only.

In the years that followed, other people continued using random dot pictures in their work; many of them were graduate students who studied with Julesz. With time they found new and better ways to create these interesting illusions.

1965
Bela Julez, "Textured and Visual Perception," Scientific American, Feb. 1965. An article on stereo dot pictures. [George J Valevicius]
1966
N. A. Valyus. Stereoscopy. Focal Press, London and New York. 426 pp. (I have not seen this book, but Boyer,1990 refers to it to say that Stereographic paintings are almost beyond possibility.)
1968
Bela Julez. "Experiment in Perception," Psychology Today, July 1968. Cover story with a full page graphic and a few smaller ones.
1971
Bela Julesz. Foundations of Cyclopean Perception. Chicago: Univ. of Chicago Press. I have not seen this book, but Kinsman,1992 mentions it: "Julesz (1971) describes photographic techniques producing random dot stereograms in use in the early 1950s.... Since Julesz, in 1960, was the first to employ a computer to generate random dot stereograms, many would consider him the person most responsible for their popularity today.... Anaglyphs of random dot stereograms... are presented in the back of Julesz's book, and a pair of the (half-red/half-green) glasses required to view them is tucked inside the back cover."
1971
Dr. Bella Julesz in "Reading from Scientific American - Image, Object and Illusion" by W.H. Freeman Publisher ISBN 0-7167-0505-2 (1971). [Bob Easterly]
1976
Marr, D. and Poggio, T. (1976), Cooperative computation of stereo disparity, Science, 194:283-287; October 15. Thimbleby (1990) refers to this article: "[They] discuss computational models of the visual processes that are involved in interpreting random dot stereograms."
1977
Bela Julesz. Foundations of Cyclopean Perception. University of Chicago Press, Chicago. xiv, 406 pp. I assume this is the same book as the 1971 book referenced by (Kinsman,1992). I think Boyer gave the wrong publication date. Of the book, Boyer writes:

"The random-dot stereogram is a very inspiring demonstration of the sophistication and complexity of the information-processing which occurs in everyday human vision.... The first extensive studies of random-dot stereograms were accomplished by Bela Julesz and his colleagues on large and expensive computers, using professional programmers, at the Bell telephone Laboratories." (Boyer,1990)

1977
Tyler & Chang, Vision Research, #17. Referenced by Tyler, 1983.
1979
Marr, D. and Poggio, T. (1979), A computational theory of human stereo vision, Proceedings Royal Society of London, B204, 304:328. Thimbleby (1990) refers to this article: "[They] discuss computational models of the visual processes that are involved in interpreting random dot stereograms."
1983
Schor & Cuiffreda, editors. Vergence Eye Movements: Basic & Clinical Aspects. One chapter, by Christopher Tyler including genuine SIRDS. Interestingly, he doesn't say he invented them. He just calls them "a new type of autostereogram designed for free fusion without the need for a stereoscope or anaglyph glasses". Then he says the basis is the repetition of a random pattern and refers to Tyler & Chang, 1977, Vision Res, #17. [Dan Richardson]
1985
Paul S. Boyer. Stereographic technique for illustrating geologic specimens. New Jersey academy of Science, Bulletin, volume 39, no. 2, pp. 83-91. I have not seen this article, but Boyer,1990 refers to it when speaking of the DIN 4531 stereogram format.
1986
L. L. Kontsevich. "An Ambiguous Random-Dot Stereogram Which Permits Continuous Changing of Interpretation," Vision Research, Vol. 26, No. 3, pp. 517-519. I have not seen this article, but Kinsman,1992 mentions it: "Kontsevich (1986) describes a technique for making a series of tiles." Kinsman presents a "similar stereogram" that is a SIRDS. If so, this would be the first SIRDS I am aware of.
1987
Paul S. Boyer. Constructing true stereograms on the Macintosh. The Journal of Computers in Mathematics and Science Teaching, volume 6, no. 2, pp. 15-22. (I have not seen this article, but Boyer,1990 refers to it as a detailed article describing computer stereography.)
1988
Falk, Brill and Stork produce the "Seeing The Light" image that Dyckman referenced in his Stereo World article. [Dan Richardson]
1988
J. Ninio and I. Herlin. "Speed and Accuracy of 3D Interpretation of Linear Stereograms, Vision Research, Vol. 28, No. 11, pp. 1223-1233. I have not seen this article, but Kinsman,1992 mentions it: "Ninio and Herlin (1988), and Slinker and Burton (1992), experimented with stereograms containing complex patterns [triangles, lines, blotches, and even images] in their initial noise fields."
1989
Rocca and Stork, Behavior Research Methods, Instruments and Computers, 1989, might be vol 21 number 5. Demonstrats a little Mac program they wrote to generate SIRDS from MacPaint files. [Dan Richardson]
1990
Paul S. Boyer, Professor of Geology, Fairleigh Dickinson University, "Random-Dot Stereograms -- Creating a Psychological Phenomenon," STEREO WORLD, March/April 1990. Creating SIRDS on the Mac.
1990
Tyler, C. W. and Clarke, M. B. (1990) The autostereogram. SPIE Stereoscopic Displays and Applications 1258: 182-196. Thimbleby (1990) refers to this article: "Recently, however, Tyler and Clarke realized that a pair of random dot stereograms can be combined together, the result being called a single image random dot stereogram (SIRDS) or, more generally, an autostereogram.... [They] described a simple but asymmetric altorithm, which meant, for example, that some people can only see the intended effect when the picture is held upside-down."
1990
Dan Dyckman, "Single Image Random Dot Stereograms," STEREO WORLD, May/June 1990. "I was recently surprised when a friend of mine ... showed me a random-dot-stereograph that consisted fo a single image, rather than the usual stereo pair. To view the image, one fused two marks within the image, and would see the words SEEING THE LIGHT."

"Interested readers might consider creating poster-sized images using this technique, or experimenting with supplementary gray-level or color values for each pixel. And, if any reader knows who invented this technique for single image random dot sstereograms, or who created the SEEING THE LIGHT image, please drop a note to this magazine."

1991
Prior to June 1991 a company named Pentica Systems, Inc (One Kendall Square, Building 200, Cambridge, MA 02139, Tel. 617-577-1101, Tom Baccei - President) published an advertisment, "Pentica Loves Puzzles," with a SIRDS image in it. The magazine may have been EDN--I don't remember.
1991
About June 3, 1991, Pentica mails an information packet to those responding to the add. In the information Pentica sent to those responding to the ad, they say, "We discovered ... the technique for generating it in STEREO WORLD." Four SIRDSs accompany the information, marked "images (c) 1990 by Dan Dyckman."
1991
June 13, 1991, N.E. Thing Enterprises, (One Kendall Square, Building 200, Cambridge, MA 02139) also mails a flyer to those responding to the Pentica ad. The N.E.Thing address and the Pentica address are the same, as well as the postal meter number (FMETER 8010560) for the two mailings. The flyer states, "from the people who created the Pentica Loves Puzzles Ad.... Because of the unbelievably enthusiastic response to our random dot stereogram featured in the 'Pentica Loves Puzzles' ad, we are rushing you this advance notice of our latest 3D mindbenders." They offered 3 posters, World's Hardest Maze, The Third Eye, Training Wheels, and a 1992 Calendar.
1992
Andrew A. Kinsman, Random Dot Stereograms, Kinsman Physics, 1992. First printing October 1992. "This history of the stereogram is a bit elusive. It appears to be intertwined with anaglyphs, lenticular photographs, and stereoscopic photographic techniques. Charles Wheatstone described stereoscopy in 1832. In 1851 the the London Society of Arts held the Crystal Palace Exhibition, which six million people attended and potentially witnessed Sir David Brewster demonstrate the stereoscope. Stereoscopes became popular as a result. Kahn (1967), in The Codebreakers, references an article by Herbert C. McKay, written in the late 1940s, on how to manufacture simple stereograms with a typewriter for encryption purposes.... Julesz (1971) describes photographic techniques producing random dot stereograms in use in the early 1950s. History seems to have recorded no particular inventor of stereograms. It is quite probable that soon after parlor-style stereoscopes became popular someone took a photograph of a camouflaged hunter with a stereo camera. The subject in the resulting picutre might be difficult to identify. Viewed stereoscopically with the rest of their collection, the subject would become obvious."
1992
"This unique synthesis of computer technology and fine art began simply as an idea between two creative individuals in 1992. Paul's art background and Mike's computer genious proved to be the perfect combination of talents. Several hundred man hours later, in a remote region of California, came the first public exposure to Holusion(TM) 3D Prints. And so NVision Grafix was born." (NVision Grafix flyer introducing Calypso Reef, 1993.) "Micro Synectic was Mike Bielinski is NVision...NE Thing and Micro Synectics are listed in the StareEO demo, because Mike Bielinski wrote it for NE Thing." (CompuServe messages from Dan Richardson) "The images are the creation of NVision Grafix, a Texas-based firm owned by two former fraternity brothers, Paul Herber and Mike Bielinski. They developed the Holusion technology while making a poster of the B-2 bomber for the company where Herber worked as an engineer. The posters were a huge hit, and soon, Herber and Bielinski had abandoned their jobs to start up NVision: Herber is the artist, and Bielinski is the computer whiz.... As NVision has grown, though so has it's competition. Computer expert Tom Baccei has created his won "high-tech, three-dimensional art form" under the name "Magic Eye" and is marketing the images on books, posters, calendars, puzzles and cards." (Nicole Brodeur, Orange County Register. As reprinted in The Daily Herald, March 22, 1994)
1993
N.E. Thing begins patent process on several RDS algorithms. "Salitsky dot" algorithm and the algorithm to produce an RDS that looses it's colors when viewed in 3D are apparently two algorithms. I have not seen the patent applications, but the law requires that they discuss "prior art." If someone could get copies of these applications, it would not only describe the algorithms in detail, it would present a history of SIRDS, to the degree that N.E. Thing was aware.
1993
Harold W. Thimbleby, Stuart Inglis, and Ian H. Witten, "Displaying 3d Images: Algorithms for Single Image Random Dot Stereograms," University of Waikato, Hamilton, New Zealand, published on the Internet. I believe Stuart mentioned it was being published in an IEEE journal in 1994. I've forgotten which one and when. [IEEE Computer, soon - S.]


Subject: [21] How can I write my own programs?

There are several approaches to take to write a SIRDS program (we'll start with SIRDS and move on to SIS in the next section).

We have some facts that will help us write the program:

To make a SIRDS we have to make sure (for each 3D point in the object) we have two pixels the same colour (say either black or white) at a particular distance apart, so that when we "look through" each of the pixels, we will see the corresponding pixel in 3D.

To calculate the relationship between the pixels is the *only* complicated stage. We use an array called 'same[]' which simply points to a pixel (in the same scan line) that has the same value.

The second "for x" loop does this. At each position in the object, calculate the dot separation, calculate where the left and right line of sight will intersect the image, and shuffle the array so there is a one to one link.

After we have this 'same[]' array we simply iterate over the array, picking a colour and propagating it's colour across the bitmap. And then the process is finished, the result: a Single Image Random Dot Stereogram.

#define round(X) (int)((X)+0.5) 
#define DPI 72                  
#define E round(2.5*DPI)        
#define mu (1/3.0)              
#define separation(Z) round((1-mu*Z)*E/(2-mu*Z))
#define far separation(0)       
#define maxX 256                
#define maxY 256

void DrawAutoStereogram(float Z[][]) 
{                               
  int x, y;               
  for( y = 0; y < maxY; y++ ) {
    int pix[maxX];     
    int same[maxX];    
    int s;             
    int left, right;   

    /* initialise the links */    
    for( x = 0; x < maxX; x++ )
      same[x] = x;

    /* calculate the links for the Z[][] object */    
    for( x = 0; x < maxX; x++ ) {
      s = separation(Z[x][y]);
      left = x - (s/2);
      right = left + s;        
      if( 0 <= left && right < maxX ){       
	{ int k;                
	  for(k=same[left]; k!=left && k!=right; k=same[left])
	    if( k < right ) 
	      left = k;
	    else {
	      left = right;
	      right = k;
	    }
	  same[left] = right; 
	}
      }
    }

    /* assign the colors */
    for( x = maxX-1; x >= 0; x-- ) {
      if( same[x] == x ) pix[x] = random()&1;
      else pix[x] = pix[same[x]]; 
      Set_Pixel(x, y, pix[x]);
    }
  }
}


Subject: [22] Creation of SIS

kindly written by Pascal Massimino (massimin@clipper.ens.fr)

(As opposed to Subject21, where the creation of a SIRDS was based on a bitmap, here we have a ray-tracing approach. ftp the RaySIS program)

The first step in the generation of a SIS (Single Image Stereogram) is to transform the scene you want to render into a depth field. One interesting method is to scan your screen line by line and intersect objects with one ray (say using a ray-tracing assimilated method). But you can also slice your scene if it appears more convenient. A proper rescaling of your depth may also be useful when objects extend to far from (or to close to) the eyes, for this could make your SIS hard to be seen when finished.

Once you've got your depth field, this 3D information requires been encoded in the SIS using a repetitive pattern. You will need to set proper pixels to the same color, this color being taken from an initial pattern. The following sketch shows the pixels (marked with 'o') on the screen that will need be allocated with the same color. The initial ray is the one (passing right in the middle of your eyes) that was used to determine h, the depth related to the scanned pixel (*). Then, from the point of intersection, two rays have been drawn in the direction of the eyes. They determine position of the linked pixels 'o', separated by a distance dx.

 			     initial
			       ray	
			        |
	Eyes:	     Left       |      Right
		       +<-------ES------>+            ES=eye separation
			\	|       /
			 \   dx |      /
			  \ <---|---> /
Screen --------------------o----*----o-------------------
                         ^  \   |   /     ^
                         |   \  |  /      |
                        h|    \ | /       |
                         |     \|/        |H
			 -    ****        |
                          ***********     -
-------------------------*** object **--------- average plane
                        **************          in your scene
		      *****************

In your scene you must have a virtual average plane: every point laying on this plane will produce two pixels separated by a distance X on the screen, with X being the width of the initial pattern. This method is non-linear: dx/X*(ES-X)/(ES-dx)=h/H. One can nevertheless approximate this relation to the linear one: dx/X=h/H without your brain getting injured...

This operation needs been repeated for each pixel of the scan line to produce a field of distances dx. The hard part still remains intact: deform this pattern to match the correlations inherent in the formation of the 3D image.

Propagation/deformation:

The initial pattern is drawn, say, on the left of the screen. Then, every pixel of this pattern is redrawn at distance dx, on the right, and re-use the new pattern it produces as initial pattern, etc...

   initial    new pattern   ....     ......
   pattern    after 1st
              deformation
              (larger)
            2            2'        2''
  1          1'           1''    
  +---------*+-----------*+--------*--------------- ...
  |         /           / 
  |  dx    /|    dx    /
  +-->----/ +---->>---/
Point 1 goes to 1', which himself is mapped to point 1'', etc...

Problem:

The field dx may present discrepancies, discontinuities, due to objects edges, sides, etc... In the point where this occur are actually points that, in real vision, are only seen with ONE eye (eg. if your directive eye is looking just in the center of a small box, one side of this box will be seen by the other eye, only). They produce gaps or overlappings in the pattern deformation/ propagation. But you can ignore this overlapping or fill the gaps with what you want (the initial pattern for instance),for this points does not take part of the 3D-effect. As a drawback, this can cause ghost-objects to appear when you are not focusing on the right distance (that is: the angle between your eyes' sight direction is *nearly* good, but your lens did not catch the right focal distance).

Note:

Because dx is not an integer, but a real number,interpolation of colors is required to avoid pixel-level slices of the objects to be generated. Scene will then appear smooth.

You can also start the deformation/propagation from the right or the middle of your screen...

Animation:

Once you've produced stereograms (SIRDS, SIS, or SIRTS), you may create an animation out of the them. But some problems arise:

The pattern of the background is *not* fixed, because it's content *heavily* depends on the position of the objects in your scene. Each new frame will produce different background. There are some methods to damp this: let a part of stereograms untouched by deformations, free from objects, so your eyes have a stable part to catch in the animation. This work rather well with SIS if your using a deformation of pattern that started, for instance, from the left: this part of the stereograms will remain the same along the animation.

A more biological problem: the brain is not used to see objects moving without the textures, that *seem* tied to the object, moving with it. Especially with SIS, the objects rather appear to be moving under a colored piece of sheet than in front of you, but this is just a matter of acclimatization. Do you remember the first time you saw a stereogram ?

There still remains a mean to temper this effect: in fact, to gain the third dimension in your image, you dropped one degree of freedom (colors). But there still remains some latitude in the choice of the pattern you use. You can choose any colors you want in a pre-definite vertical strip of your stereogram. So, why don't you choose a 'pattern' which is, for instance, a classicaly ray-traced image of your object, whose horizontal position can be adjust to superimpose and match your object when the 3D-effect will take place ? The only restriction is that your object does not extend to much beyond the strip, for only a part of width less than X can be color-controlled by this mean.


Subject: [23] Multiple stereograms

Is it possible to generate a stereogram such that the image is dependent on the viewing rotation?

The short answer is YES! In a "normal" stereogram the constraints are only in the horizontal direction, but by assigning constraints in 2-dimensions instead of linearly across the image, it is possible. I believe the first time I saw this was an image by Tyler [to be referenced].

--comment by John Olsen to Andrew Steer(follows)
>Also I think it should be possible to create a stereogram which gives
>TWO images: one when viewed landscape and another when looked at
>portrait. It would however only be possible for certain patterns
>and NOT in general (your average real image or logo).

Typically, you can only do a small image, entirely contained in the first copy of the random buffer (50 pixels wide in your case). The "vertical" image is repeated, but it gets more and more distorted as you go across the page.

There are, as you say, limited things you can do which cover greater areas, but the limitations are rather severe. The quality of the results depends on how much error you're willing to put up with, as "fog" and uncertainty in the resulting image if you want both vertical and horizontal to be full page images.

Can you "tile" or "wallpaper" stereograms?

--from the net
Some people say YES!, others say NO!

Is it possible to see two *completely* different images by alternating between the "wall-eyed" and "cross-eyed" techniques?

Most definately! The problem that is encountered is if we want two different images to be seen, each pixel on the stereogram corresponds to *two* different positions, this is a form of 3D aliasing which people refer to as "fog" -- or more plainly "hard to see". Using a method that creates links between corresponding pixels in the image (such as the one in Subject 21) the links simply need to be updated for each 3D object.

People have tried a simple method to ameliorate this; when generating the stereogram alternate using a pixel for the wall-eyed or cross-eyed approaches, this will at least half the horizontal resolution. [Has anyone tried this alternating technique?]


Subject: [24] Losing the color

By using complementary colors for the left and right eye, is it possible to create a stereogram in which the 3D image "loses" it's color and appears in greyscale?

Yes! It can be done. Would anyone like to elaborate on this matter? :-)


Subject: [25] C code for windows

From: zcapl31@ucl.ac.uk (William Andrew Steer)
Newsgroups: alt.3d
Subject: Constructing SIRDS, Windows source code MK1
Summary: Most basic program to draw SIRDS, written in C++ for Windows
Date: Tue, 31 May 1994 11:06:20 GMT

This is about the simplest Windows program for drawing SIRDS. It is only bare-bones, you'll have to modify the program for alternative depth sources, and the SIRDS is reconstructed from scratch after every WM_PAINT message ie whenever the window is resized or uncovered. Use CTRL+ALT+DEL to exit while it's drawing.

If you don't program in C, just look at the TMyWindow::Paint function. You should be aware that the random(arg) function returns an integer between 0 and arg-1.

If you have Turbo C++ then make a copy of one of the example project files in the /tcwin/owl/examples subdirectory, and copy the program below to your /examples subdirectory. Open Turbo C++, load the new project, and change it's contents to include just the program below and OWL.DEF. It should then run ok.

[-- later comments by Andrew Steer
I would like to stress that it uses the 'lookback' algorithm, which has some limitations, namely:
- it assumes that the right eye looks perpendicular to the screen while the left eye looks slightly sideways (so the rays converge), when in reality both eyes should look inwards. This causes asymmetry in the image (which according to some sources makes it more difficult for some people to see) and results in near objects appearing marginally further right than far ones.]

I have since developed algorithms for linear depth, and improved Z-resolution. I'll post the program tomorrow [dated Tue, 31 May 1994].

// ObjectWindows SIRDS Program  (C) W.A. Steer 1994
//                              email: w.steer@ucl.ac.uk
// Simplest routine possible
//
// 


// Picture not stored
// - is completely redrawn for each WM_PAINT


#include < owl.h >
#include < math.h >


const pattwidth=96;  // the basic repeat distance.
// On a 14" monitor and 640x512 display, 96 pixels
// represents about half the distance between the eyes.
                     
const NumColors=4;


// Define the colors to use in form 0xbbggrrL
//  0x  signifies hex notation
//  bb  blue value, gg  green value, rr  red value
//  L tells the compiler the constant is Long ie 32bit 

COLORREF cols[NumColors]=
{
 0x000000L,
 0x800000L,
 0xFF0000L,
 0x000080L
};



// ----------------  TMyWindow  ----------------

class TMyWindow : public TWindow
{
public:
 TMyWindow( PTWindowsObject AParent, LPSTR ATitle);

 virtual void Paint( HDC PaintDC, PAINTSTRUCT& PaintInfo );
};


TMyWindow::TMyWindow( PTWindowsObject AParent, LPSTR ATitle) :
              TWindow(AParent, ATitle)
{
 Attr.W=620;  // Set the default window size to 620x340
 Attr.H=330;
}


void TMyWindow::Paint(HDC PaintDC, PAINTSTRUCT& )
{
 int pixels[700];

 int x,y;
 int h;    // height of 'features' above the background
 int l,pl; // lookback and previous lookback distances

 long r,s; // temporary storage for constructing sphere


 for (y=0; y<300; y++)
 {
  for (x=0; x=36) && (y<=164))
   {
    r=64*64-(y-100L)*(y-100L);
    if (r>0)
    {
     s=r-(x-256L)*(x-256L);
     if (s>0) h=sqrt(s)+64;
    }
   }

   // Calculate the lookback distance
   l=(int)(pattwidth-h/8.0+0.5);

   // if image has got deeper (new lookback is greater
   //  than old lookback distance) generate a new pixel,
   // otherwise repeat an old one
   if (l>pl)
    pixels[x]=random(NumColors);
   else
    pixels[x]=pixels[x-l];

   pl=l;
  }

  // Copy the image to screen
  for (x=0; x<612; x++)
  {
   // use the colors defined at the top in cols[]
   // if you're not using Windows don't worry about PaintDC parameter
   SetPixel(PaintDC,x,y,cols[pixels[x]]);
  }
 }
}



// ----------------  TMyApp  ----------------

class TMyApp : public TApplication
{
public:
 TMyApp(LPSTR AName, HINSTANCE hInstance, HINSTANCE hPrevInstance,
   LPSTR lpCmdLine, int nCmdShow)
   : TApplication(AName, hInstance, hPrevInstance, lpCmdLine, nCmdShow) {};

 virtual void InitMainWindow();
};


void TMyApp::InitMainWindow()
{
 MainWindow = new TMyWindow(NULL, Name);
}                      


int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  LPSTR lpCmdLine, int nCmdShow)
{
 TMyApp MyApp("Original SIRDS by W.A.Steer", hInstance, hPrevInstance,
               lpCmdLine, nCmdShow);
 MyApp.Run();
 return MyApp.Status;
}


Subject: [41] Hope for the hopeless

-- William C. Haga (wchaga@vela.acs.oakland.edu)

Being one who has used wide-eyed vision on chain link fences ever since I was a kid, I was able to see the images in SIRDS right away. But I've had difficulty explaining the technique to friends. Today I had the latest Games magazine with me at my parents house. Games is running another contest using SIRDS, so there are three in the latest issue. This time I thought of the reflection idea. So I opened mom's china cabinet, put the magazine against the glass in the door, and told mom to keep looking at her own reflection in the glass until the image appeared.

It took less than thirty seconds.

When she saw the 3d train engines, I was subjected to a squeal of delight that I hadn't heard from her for a long time. "EEK! IT'S COMING OUT AT ME! IS THIS EVER NEAT!". Dad tried for about a minute but gave up.

About an hour later, mom and I heard a shout. We went to the dining area, and there was dad with the magazine against the glass in the door. "Isn't that just the most amazing thing!", said he.

Later they were making jokes about teaching old dogs new tricks.


Subject: [42] Buying commercial programs

STW_DEMO.EXE: the full package will allow RDS creation
Approx US$40
N.E.Thing Enterprises
P.O. Box 1827
Cambridge, MA 02139, USA.
Config: DOS

STEREOLUSIONS: creater/render/print SIRDS
I/O Software, Inc.
Ph: (909/483-5700 800/800-7970), USA.
Config: WINDOWS/Windows NT
(From William Saito, 3/07/94)

KAI's POWER TOOLS: Photoshop add-on for SIS creation
Config: MAC


Subject: [43] The image I see is "inverted" or "sunk-in"!

To see a stereogram you must converge your eyes in such a fashion that each eye is looking at the corresponding pixel/dot required to get the 3D effect.

If you are converging your eyes in front of the picture instead of behind the picture, you will see the apparent image inverted.

This is what you should be doing:

    right    left
     (.)      (.)
      \        /
       |      |
       \      /
        |    |
.....pixel..pixel......(actual picture/poster)
        \    /
         |  |
         \  /
         |  |  
          \/
           |
          XX (perceived position in 3D--behind the object)

You can see that the separation between the two pixels decreases as the 3D object moves closer towards you eyes...but if you are seeing a "depth-inverted" image, you are probably doing this:

    right    left
     (.)      (.)
      \        /
       \      /
        \    /
         \  /
          \/
          XX  (perceived position in 3D in front of the object)
          /\  
         /  \
        /    \
       /      \
      /        \ 
     /          \ 
..pixel........ pixel......(actual picture/poster)

This is where your eyes converge before the object, and we can see that the separation increases as the object moves closer to your eyes. Thus when a method is made to be viewed a certain way, and you do the opposite, you see an inverted image.

Subject: [44] Call for stereograms

From: jolsen@nyx10.cs.du.edu (John Olsen)
Newsgroups: alt.3d
Subject: Call for stereograms
Date: 26 May 1994 22:16:33 -0600

A stereogram distributor has asked me to post the following info. Please don't contact me about it. Call or write (snail mail) to him. Tell him you saw my message on the Internet.

----
David Sterling, president of Sterling Crescent International, Inc. is looking for commercial-grade stereograms to be included in books and as postcards. He prefers groups of images to singles, and you must be the original designer (owner of the copyright on the image).

Payment on accepted designs will be on a royalty basis. For an upcoming book deal, he is trying to get all images submitted in final form by the end of June. The postcard work is ongoing.

I'd suggest calling him once you have a list of titles together, and then working out how to get preview copies to him (disk, paper, fax...). He's been distributing stereogram materials for a long time (long for the stereogram business, anyway :^), so he's picky about high quality, good detail, and eye-catching patterns.

He is:

David Sterling
Sterling Crescent International, Inc
PO Box 690253
San Antonio, TX 78269, USA
voice (210) 558-7143
fax (210) 558-7144


This version of the SIRDS-FAQ was compiled by Stuart Inglis and attempts to continue the previous excellent version maintained by Todd Hale (todd_hale@novell.com). The latest version of the FAQ is located at http://www.cs.waikato.ac.nz/~singlis/sirds.html. Please send all modifications and/or comments to
singlis@cs.waikato.ac.nz .