http://ftp.x.org/contrib/applications/xscreensaver-3.10.tar.gz
[xscreensaver] / hacks / penrose.man
1 .TH XScreenSaver 1 "10-May-97" "X Version 11"
2 .SH NAME
3 penrose - draws quasiperiodic tilings
4 .SH SYNOPSIS
5 .B penrose
6 [\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP] [\-redoDelay \fIseconds\fP] [\-size \fIinteger\fP] [\-ammann] [\-no\-ammann]
7
8 .SH DESCRIPTION
9 The \fIpenrose\fP program draws quasiperiodic tilings.
10
11 See Onoda, Steinhardt, DiVincenzo and Socolar in
12 Phys. Rev. Lett. 60, #25, 1988 or
13 Strandburg in Computers in Physics, Sep/Oct 1991.
14
15 This implementation uses the simpler version of the growth
16 algorithm, i.e., if there are no forced vertices, a randomly chosen
17 tile is added to a randomly chosen vertex (no preference for those
18 108 degree angles).
19
20 There are two essential differences to the algorithm presented in
21 the literature: First, we do not allow the tiling to enclose an
22 untiled area.  Whenever this is in danger of happening, we just
23 do not add the tile, hoping for a better random choice the next
24 time.  Second, when choosing a vertex randomly, we will take
25 one that lies withing the viewport if available.  If this seems to
26 cause enclosures in the forced rule case, we will allow invisible
27 vertices to be chosen.
28
29 Tiling is restarted whenever one of the following happens: there
30 are no incomplete vertices within the viewport or the tiling has
31 extended a window's length beyond the edge of the window
32 horizontally or vertically or forced rule choice has failed 100
33 times due to areas about to become enclosed.
34
35 Although quasiperiodic tilings are produced, the tiles themselves are
36 not penrose tiles (darts and kites). In contrast to penrose tiles,
37 these tiles can be arranged to form a periodic tiling.
38
39 .SH OPTIONS
40 .I penrose
41 accepts the following options:
42 .TP 8
43 .B \-window
44 Draw on a newly-created window.  This is the default.
45 .TP 8
46 .B \-root
47 Draw on the root window.
48 .TP 8
49 .B \-mono 
50 If on a color display, pretend we're on a monochrome display.
51 .TP 8
52 .B \-install
53 Install a private colormap for the window.
54 .TP 8
55 .B \-visual \fIvisual\fP
56 Specify which visual to use.  Legal values are the name of a visual class,
57 or the id number (decimal or hex) of a specific visual.
58 .TP 8
59 .B \-ncolors \fIinteger\fP
60 How many colors should be used (if possible).  Default 64.
61 The colors are chosen randomly.
62 .TP 8
63 .B \-size \fIinteger\fP
64 How big the tiles should be.  Default 40 pixels.
65
66 .TP 8
67 .B \-delay \fImilliseconds\fP
68 How long (in 1/1,000,000'ths of a second) to wait between drawing each
69 tile.  Default 10,000 or .01 seconds.
70
71 .TP 8
72 .B \-redoDelay \fIseconds\fP
73 How long to wait between starting a completely new tiling.  Default 3 seconds.
74
75 .TP 8
76 .B \-ammann \fIinteger\fP
77 .TP 8
78 .B \-no\-ammann \fIinteger\fP
79 Whether Ammann lines should be added.
80
81 .SH ENVIRONMENT
82 .PP
83 .TP 8
84 .B DISPLAY
85 to get the default host and display number.
86 .TP 8
87 .B XENVIRONMENT
88 to get the name of a resource file that overrides the global resources
89 stored in the RESOURCE_MANAGER property.
90 .SH SEE ALSO
91 .BR X (1),
92 .BR xscreensaver (1),
93 .BR xlock (1)
94 .SH COPYRIGHT
95 Copyright \(co 1996 by Timo Korvola.
96
97 Permission to use, copy, modify, and distribute this software and its
98 documentation for any purpose and without fee is hereby granted,
99 provided that the above copyright notice appear in all copies and that
100 both that copyright notice and this permission notice appear in
101 supporting documentation. 
102 .SH AUTHOR
103 Timo Korvola <tkorvola@dopey.hut.fi>, 1996.
104
105 Ability to run standalone or with \fIxscreensaver\fP added by 
106 Jamie Zawinski <jwz@jwz.org>, 10-May-97.