penrose(6) XScreenSaver manual penrose(6)
NAME
penrose - draws quasiperiodic tilings
SYNOPSIS
penrose [--display
host:display.screen] [--foreground
color]
[--background
color] [--window] [--root] [--window-id
number][--mono]
[--install] [--visual
visual] [--ncolors
integer] [--delay
microseconds] [--size
integer] [--ammann] [--no-ammann]
[--fps]
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 randomly chosen tile is
added to a randomly chosen vertex (no preference for those 108 degree
angles).
There are two essential differences to the algorithm presented 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 within
the viewport if available. If this seems to cause enclosures in the
forced rule case, we will allow invisible 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.
--window-id number Draw on the specified 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.
--ammann --no-ammann Whether Ammann lines should be added.
--fps Display the current frame rate and CPU load.
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_MANAGER property.
XSCREENSAVER_WINDOW The window ID to use with
--root.
SEE ALSO
X(1),
xscreensaver(1),
xlock(1)COPYRIGHT
Copyright (C) 1996 by Timo Korvola.
Permission to use, copy, modify, and distribute this software 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.
X Version 11 6.09 (07-Jun-2024) penrose(6)