Patterns
Overview
A Java program that can be used to generate patterns and explore symmetry is available for
use. In particular, "edge limit" patterns, "center limit" patterns and patterns where
the foreground and background are reversible may be generated. Such patterns were made
famous by the Dutch artist M. C. Escher.
A quick understanding of the program's capabilities may be obtained by working the short
tutorial included in the help file.
The program consists of a source file and 32 class files.
User Guide
A help file is
included with the program. This file describes in detail the capabilities of the program
and how to use it.
Operation
The Patterns program is called from an executable file which calls the Java interpreter and passes seven arguments to the program. The seven arguments are:
- The path of the browser to be used to display the help file.
- The URL of the help file.
- The default file from which patterns are read.
- The default file to which patterns are written.
- The default gif file.
- The default gif file width.
- The default gif file height.
Two such files are included. The first file is called Patterns.ksh and is suitable for UNIX. Its' contents is shown below:
java Patterns \
c:/'Program Files'/Netscape/Communicator/Program/netscape.exe \
file://c:/'My Files'/Tacoma/Patterns/Standalone/PatternsHelp.html \
pattern pattern pattern.gif 640 480
The second file is called Patterns.bat and is suitable for Windows 95.
Implementation
To implement the program do the following:
- Download
Patterns.zip.
- Decide on a directory to hold the program.
- Unzip Patterns.zip into this directory using
WinZip or a program with the same capability.
- Edit the Patterns or Patterns.bat file to reflect your needs paying particular attention to the seven arguments which define your options.
- Test the program.
Files
The following files are included in Patterns.zip.
- BitFile.class
- BitUtils.class
- BorderedPanel.class
- Buttons1.gif
- Buttons2.gif
- Card1.gif
- Card1A.gif
- Card2.gif
- Card3.gif
- Card4.gif
- ColorSelector.class
- Combine.class
- CommandConstants.class
- ConnectPicture.class
- CustomColor.class
- Display.class
- Display.gif
- Document.html
- DoubleField.class
- Explorer.gif
- ExplorerDialog.class
- Format.html
- GIFEncoder.class
- GraphicsExtension.class
- ImageDescriptor.class
- IntField.class
- LZWCompressor.class
- LZWStringTable.class
- Make.class
- Make.gif
- MakeConstants.class
- Options.class
- Palette.class
- PatternFrame.class
- Patterns
- Patterns.bat
- Patterns.class
- Patterns.java
- PatternsHelp.html
- Picture.class
- ReflectPicture.class
- RotatePicture.class
- Ruler.class
- ScalePicture.class
- ScreenDescriptor.class
- StatusBar.class
- Thumbnail.class
- Thumbnails.gif
- Tutorial.html
- WorkPad.class
- header
- pattern
- pattern1
- pattern2
- pattern3
- pattern4
- pattern5
- pattern6
- pattern7
- pattern8
- pattern9
Source Code
For those persons wishing to modify the program, the following files are of interest:
- Patterns.java - the Java source code
- Format.html - the description of the picture file format.
References
- The Infinite World of M. C. Escher - Harry N. Abrams, Inc., New York 1984.
- An Implementation of the Henderson Picture Language - Lisp: A Language for
Stratified Design - By Harold Abelson and Gerald Jay Sussman - Byte February 1988
Other Programs
Please take a look at my
Paint program.
and the internet version of my
Patterns program.
Contact
This program was written by Brian Prentice who may be contacted at
bprentice@webenet.net.
If you use this program please send a postcard of your home town to the following
address and if possible use an interesting stamp.
Brian Prentice,
355, So 8th St., #1
Coos Bay OR 97420
USA