xscreensaver(1)
NAME
penrose - draws quasiperiodic tilings
SYNOPSIS
penrose [-display host:display.screen] [-foreground color] [-background color] [-window] [-root] [-mono] [-install] [-visual visual] [-ncolors integer] [-delay microseconds] [-redoDelay seconds] [-size integer] [-ammann] [-no-ammann]
DESCRIPTION
The penrose program draws quasiperiodic tilings.
See Onoda, Steinhardt, DiVincenzo and Socolar in Phys.
Rev. Lett. 60, #25, 1988 or Strandburg in Computers in
Physics, Sep/Oct 1991.
This implementation uses the simpler version of the growth
algorithm, i.e., if there are no forced vertices, a ran
domly chosen tile is added to a randomly chosen vertex (no
preference for those 108 degree angles).
There are two essential differences to the algorithm pre
sented in the literature: First, we do not allow the
tiling to enclose an untiled area. Whenever this is in
danger of happening, we just do not add the tile, hoping
for a better random choice the next time. Second, when
choosing a vertex randomly, we will take one that lies
withing the viewport if available. If this seems to cause
enclosures in the forced rule case, we will allow invisi
ble vertices to be chosen.
Tiling is restarted whenever one of the following happens:
there are no incomplete vertices within the viewport or
the tiling has extended a window's length beyond the edge
of the window horizontally or vertically or forced rule
choice has failed 100 times due to areas about to become
enclosed.
Although quasiperiodic tilings are produced, the tiles
themselves are not penrose tiles (darts and kites). In
contrast to penrose tiles, these tiles can be arranged to
form a periodic tiling.
OPTIONS
penrose accepts the following options:
- -window Draw on a newly-created window. This is the
- default.
- -root Draw on the root window.
- -mono If on a color display, pretend we're on a
- monochrome display.
- -install
- Install a private colormap for the window.
- -visual visual
- Specify which visual to use. Legal values are the
name of a visual class, or the id number (decimal
or hex) of a specific visual. - -ncolors integer
- How many colors should be used (if possible).
Default 64. The colors are chosen randomly. - -size integer
- How big the tiles should be. Default 40 pixels.
- -delay milliseconds
- How long (in 1/1,000,000'ths of a second) to wait
between drawing each tile. Default 10,000 or .01
seconds. - -redoDelay seconds
- How long to wait between starting a completely new
tiling. Default 3 seconds. - -ammann
- -no-ammann
- Whether Ammann lines should be added.
ENVIRONMENT
DISPLAY to get the default host and display number.
- XENVIRONMENT
- to get the name of a resource file that overrides
the global resources stored in the RESOURCE_MAN
AGER property.
SEE ALSO
X(1), xscreensaver(1), xlock(1)
COPYRIGHT
Copyright © 1996 by Timo Korvola.
Permission to use, copy, modify, and distribute this soft
ware and its documentation for any purpose and without fee
is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation.
AUTHOR
Timo Korvola <tkorvola@dopey.hut.fi>, 1996.
- Ability to run standalone or with xscreensaver added by
Jamie Zawinski <jwz@jwz.org>, 10-May-97.