Copyright: Geoffrey L. Hausheer


RanDot v.9c
Randot 1.0a

This is Randot version 1.0.

This is the final release of Randot 1.0.  Randot 1.0 is much improved over the previously released version .9β.  Improvements include substantial bug fixes, as well as some cool new features, and a much revised help file.  See the New Features section for more information.

Overview

RanDot is a program which makes random dot stereograms, supporting more features than virtually any other program similar to it.

What is a Random Dot Stereogram?

A random dot stereogram (or RDS) is a picture which appears in three dimensions when you view it Cross Eyed or Wide Eyed.  This program can only generate them in black and white, because colored RDS pictures are much more difficult to see, and are of much lower quality.  There is one other type of "color" RDS pictures, which I may possibly support in the future.  These pictures simply have different background colors, and different colored dots.

How Do I Use RanDot?

See Using RanDot

How do RDS pictures work?

In truth, I still don't fully understand it, but in general, they are seen by defocusing the eyes so that you see more than one point on the picture at the same time.  If you are totally confused, well, so am I, so get the book Random Dot Stereograms (see the credits for more info).

Other stuff:

Future Enhancements

Contacting the Author

New Items in this release

Known Bugs

Credits


Credits and other info

RanDot is written by:

Geoffrey L. Hausheer

48 Ten Eyck Ave

Albany, NY 12209

I can be reached by internet e-mail at:

glh1@cornell.edu

or

72623.435@compuserve.com (please address all mail to Geoffrey)

While I have not had any direct help in writing this program, I have found many useful sources of information:

A book containing over 50 RDS pictures, as well as miscellaneous source code and other cool information:

Random Dot Stereograms by Andrew A. Kinsman

Published by Kinsman Physics P.O. Box 22682, Rochester, N.Y., 14692-2682

ISBN 0-9630142-1-8

PC Magazine's Windows 3.1 Graphics Programming by Ben Ezzel

ISBN 1-56276-055-6

Miscellaneous freeware source code from Microsoft for dealing with Bitmaps

Windows 3.1  Programmer's Reference by James W. McCord

ISBN 0-88022-787-7

RanDot was written using Borland C++ 4.0


Cross Eye Viewing
Cross-Eyed Viewing

Note: Cross Eyed viewing is not recommended.  The pictures do not look as good when viewing this way, and therefore this method should only be used if you cannot view the pictures Wide Eyed.

To view RDS pictures cross eyed:

first: load one of the pre-compiled pictures into either a paint program or into RanDot. The pre-compiled pictures have black dots at the top which facilitate learning to view RDS pictures.

now place your head about 1 to 2 feet from the screen, and hold your index finger about halfway between your head and the monitor.  Now focusing on your finger (do NOT look at the screen) move it closer or farther from your head until the two dots at the top of the screen become three (If you see four dots, you are getting closer).  NOTE:   You sill see the dots out of your peripheral vision. If you look at the screen instead of your finger, you will not be able to do this.

After you see three dots, continue to stare at the tip of your finger until the 3-d picture forms on the screen.

Some people can see these pictures almost instantaneously, while for others (like me) it takes quite a bit of practice, so try not to get discouraged.

Focusing Dots

I have added the ability to place the black focusing dots onto the pictures generated by RanDot; this makes viewing RDS pictures substantially easier for beginners.  See the Options menu for details on toggling the black focusing dots.

If you have a laser or ink jet printer, I recommend printing out the pictures.  RDS pictures do not print well using dot matrix printers so don't be too disappointed if you attempt to print them out with one.


Wide Eyed Viewing
Wide-Eyed Viewing

Wide Eyed viewing is the best way to see RDS pictures.  Unfortunately, most people find it harder than the Cross Eyed way.

There are several ways to try to view RDS pictures Wide Eyed:

First: load one of the pre-compiled pictures into either a paint program or into RanDot, or make one of the simple tutorial pictures. The pre-compiled pictures have black dots at the top which facilitate learning to view RDS pictures.  If you make your own, be sure to turn on the focal dots checkbox in the Options menu.

1)  If you have glare on your screen, get about 3 feet from the screen, and look at your reflection on the screen.  After maybe a minute or so you should see the 3-d picture "appear" on your screen.

2) Move your head 1 to 2 inches from the screen and look straight ahead.  Slowly move your head back always looking straight ahead (not at the monitor) until you start to see "depth" on the screen.  Stop then and try to hold the image.  After you see the image clearly you can move your head back farther until you are at a comfortable distance from your screen.

3) With your head about 2 feet from the screen, try to look at something (a spot on the wall, etc) about 6 feet behind your monitor.  Then slowly move your head so that you are looking past your monitor, but can see it in your peripheral vision.  You should notice some "depth" in the picture, and be able to focus on it, and "pull" it out.

NOTE:  Do NOT look directly at the monitor.  The only way to see these pictures is by defocusing your eyes, so looking directly at the picture will not help you at all.


Future Enhancements

Ok, here are all many of the things I want to add to this program in the future.  If you want stuff added, look at Contacting The Author or Credits for how to get in touch with me.

1) I want to be able to type text to the screen in real time (like in Windows Paintbrush).  I have no idea how to do this, so this one probably won't be too soon unless one of you would like to give me a suggestion or two.

2) I want to add support for animation. This is really cool (I have seen something like it before), but requires a LOT of work on my part, and so it probably won't come around too soon.

3) I want to add support for telescoping text, as well as rotating text.  Expect this feature by version 2.0

4) I want to be able to make background filler, so that the backgrounds aren't just flat.  This could be easy or hard depending on how flexible I make it.  Some version of this enhancement will be in v2.0 if not sooner

5) I want to be able to save to other output formats. This requires me to do some rewriting of large code segments, and won't be around until version 2.0

6) I want, I want, I want.....Well, I want to do a better job on the help file.  Version 1.0 will include limited context sensitive help, and some future version will have bitmaped help.

7) I will optimize more code for future releases.  The code is in much better shape, but could still use some help.  (Sorry but version 1.0 is not perfect)

9) I want support for different sized pictures than just 640*480.  This is extremely memory intensive (the only hindrance), and will be implemented when I devise an efficient way to handle the pictures.

10) Version 1.0 will have complete documentation besides the help file.

11)  A future version will have the option of a grid overlay to facilitate drawing.

12) Lastly, and most importantly, version 2.0 will contain the ability to print out poster size stereograms using multiple 8.5*11 sheets.

well that is it.  If you have any suggestions just send them to me.

See also:

Contacting The Author

Credits

New Items in this revision


Contacting the Author
Contacting the Author of RanDot

About The Author:

The author of RanDot is Geoffrey L. Hausheer (that is me).  I am currently a sophomore at Cornell University, and an Engineering major.  This program was written because I have been interested in Random Dot Stereograms for about a year and a half, and have been looking for an exceptional computer program to create them.  I have seen many excellent viewers. and some good miscellaneous programs, but have not seen any programs specifically geared towards creating good 3-d RDS pictures.  This is the biggest program I have ever written, and the first distributable program I've written for Windows.

I wrote this program completely from scratch with no prior training in Windows programming, and very little help as far as writing bitmap routines goes.

Registration:

I believe in the freeware policy, and as long as this program is used for personal use, it can be used completely free of charge.  If this program is to be used for commercial use, I must be notified beforehand so that some agreement can be worked out.  If this program is used in a shareware, public domain, or freeware program, please list its use in the credits.  If you feel this is the most incredible program you've ever used, or you REALLY want to see some new features added, feel free to send me a donation, and I'll probably even include your name somewhere so that everyone else who gets this will see that you are a generous person.  I would, however, like to receive e-mail from anyone who gets this program, just to see how many people actually find it useful.

Ok, now that all that is said, if you want to contact me, either:

1) write mail to:

Geoffrey L. Hausheer

48 Ten Eyck Ave

Albany, NY 12209

(If you write something about RanDot on the outside of the envelope, I am guaranteed to get this at any time)

2) E-mail me at either:

glh1@cornell.edu

or

72623.435@compuserve.com

Please also look at the credits  They contain lots of neat info (besides just names and etc).


Known Bugs
Bug List

I have yet to discover any substantial problems with version 1.0.  This does not mean it will work well on your computer, and I really want to know if it doesn't.

See also:

Contacting The Author

Credits


 Using RanDot

In the Set Options menu, you can set miscellaneous options concerning stereogram development.

The Create Stereogram menu item will change your cursor to an hourglass and create a progress bar in the lower right corner of the screen.  This can take from 30 seconds to several minutes depending on the speed of your computer.

The Print Stereogram menu item allows the user to print the stereogram on any printer.  It is recommended that only a ink jet or laser printer be used, however, because print quality is quite poor when used with dot-matrix printers.  Be sure that a stereogram has been created, because there is no detection routine to determine if a stereogram exists or not prior to printing.

The Change Font command allows for changing the font.  This option only works in conjunction with the Create Text button (see below)

There are 5 buttons on the left side of the screen:

There are two slide bars at the top left of the screen.  The left one is the color (or height) that you want to start at, the right one is the color (or height) you want to end at.  The brighter the color, the farther out the object will extend from the background.

See Also:

Print Menu

Options Menu


Create Ellipse

This allows the creation of ellipses and circles.  Click and drag the mouse button on the Edit window to use this option.


Create Rectangle

This allows the creation of rectangles and squares.  Click and drag the mouse button on the Edit window to use this option.


Create Polygon

This allows the creation of polygons.  Repeatedly click and drag the mouse button on the Edit window to use this option.  A polygon must be closed to be created on the stereogram.  Once the polygon has been closed, a grid will appear.  Click the point where you want the polygon to extrude to or rotate about.


Create Text

This allows the creation of text.  Click once somewhere on the Edit window then type in the text you want displayed.  Next click again on the Edit window, and drag the text to the place you want it displayed.


Clip Rectangle

This allows the clipping or copying of a rectangular portion of the screen.  Click and drag the mouse button on the Edit window to create the clip rectangle, then use the Cut, Copy, and Paste menu items to manipulate the region.


New items in this release
New features in this release

version 1.0a 6/23/94

Converted Randot to use static libraries.  This way, lots of DLL files are not needed.

version 1.0 6/21/94

Added the colorful logo.

Updated minor help-related items.

version .9c 6/2/94 (never fully released)

This is a pre-release of Randot 1.0 just for bug checks.

The help file has been almost completely redone.

There is a Print Menu now with some cool options.

Totally new printing routines.  These aren't mine, and belong solely to Microsoft, but They allow for much more versatility.

The Options menu has been revised to support variable dot-density and displacement.

The menus have all been revised using the Borland Custom Controls.

In general, this is a really cool version, almost ready for the production line.

The size of the executable has doubled.

version .9b 5/27/94

I switched my compiler from Borland C++ 3.1 to Borland C++ 4.0

I have rewritten code extensively from C to C++ in an attempt to fix miscellaneous bugs.

I have added some code which should free up almost 100% of the memory used (PLEASE tell me if this didn't work!)

I am now out of school and free to devote more time to my program.

The address I can be reached at has been changed for the summer.

version .9a  3/10/94

Fixed Saving routines to work finally.

A new menu command, Show Stereogram, will bring up the last generated RDS

The focusing bars are now in place (they were there in the last version, but what the heck)

The Rotation command now works for Polygons (yes, only Polygons).  See the documentation for more info

I have added a status line at the bottom of the screen.

There is a Progress bar (in the status line) that shows you how close to done the RDS generation is.

The Cut, Copy, and Paste routines now work.  Note that exiting Randot will clear the clipboard (if Randot changed it), and after something has been pasted from the clipboard, it is removed, and cannot be repasted.

Printing now works to a limited degree.  Until I add adjustable dot density, it wont be very useful though.

The menus now work better with the RDS on the screen.

A few miscellaneous problems have been corrected.

version .1a  3/3/94

first release, lots of bugs, minimal features.

See Also:

Future Enhancements

Contacting the Author

Known Bugs

Credits


Options Menu

The Options dialog box allows the user to change many options concerning stereogram development.

See Also:

Cross-Eyed viewing

Far-Eyed viewing


Cross-Eye

This selects that the RDS is to be viewed by the Cross-Eyed method.


Far-Eye

This selects that the RDS is to be viewed by the Far-Eyed method.


Picture Height

This defines the number of steps which should be developed when designing stereograms.  The more steps, the smoother a picture will appear, and the harder it is to view.


Angle

This is the angle, in degrees, to rotate each progressive height level with respect to the previous level.  This will create a spiraling effect.  This option only takes effect with polygon objects.


Cross-Eye
Dot Density

This is the density of the dots produced when creating a stereogram.  This option does not effect the viewing quality substantially, but will save ink or toner when printing stereograms.


Cross-Eye
Dot Distance

This option allows for adjustable dot distance.  It is, in general, easier to view pictures with close dots, and image quality is usually better too.  The initial setting is fine for most uses.


Focal Dots
Show Focal Dots

This checkbox indicates whether or not the focal dots are displayed.  Displaying the dots facilitates viewing for beginners, but images look nicer without them.


OK Button

Selecting the OK button will keep all changes.


Help Button

Pressing the Help button brings up context-specific help.


Cancel Button

Selecting the Cancel button negates most changes.


Edit Window

This is the large window in the center of the screen used for creating images and displaying stereograms.


Print Menu

The Print menu allows you to scale the stereograms before printing.  Note that the box in the lower right of the Print dialog box shows the current scaling.


X-Scale

Allows scaling in the horizontal direction


Y-Scale

Allows scaling in the vertical direction.


Keep Aspect Ratio

Ensures that the aspect ratio (proportion of x to y) remains constant while scaling.


Full Screen

Fills the screen with the stereogram.  This option can be used with or without the Keep Aspect Ratio option.


Cancel Button
OK Button

Selecting the OK button prints the current stereogram.


Cancel Button

Selecting the Cancel button cancels the printing of the stereogram.


Help Button

Pressing the Help button brings up context-specific help.