http://www.jwz.org/xscreensaver/xscreensaver-5.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] [\-size \fIinteger\fP] [\-ammann] [\-no\-ammann]
7
8 [\-fps]
9 .SH DESCRIPTION
10 The \fIpenrose\fP program draws quasiperiodic tilings.
11
12 See Onoda, Steinhardt, DiVincenzo and Socolar in
13 Phys. Rev. Lett. 60, #25, 1988 or
14 Strandburg in Computers in Physics, Sep/Oct 1991.
15
16 This implementation uses the simpler version of the growth
17 algorithm, i.e., if there are no forced vertices, a randomly chosen
18 tile is added to a randomly chosen vertex (no preference for those
19 108 degree angles).
20
21 There are two essential differences to the algorithm presented in
22 the literature: First, we do not allow the tiling to enclose an
23 untiled area.  Whenever this is in danger of happening, we just
24 do not add the tile, hoping for a better random choice the next
25 time.  Second, when choosing a vertex randomly, we will take
26 one that lies withing the viewport if available.  If this seems to
27 cause enclosures in the forced rule case, we will allow invisible
28 vertices to be chosen.
29
30 Tiling is restarted whenever one of the following happens: there
31 are no incomplete vertices within the viewport or the tiling has
32 extended a window's length beyond the edge of the window
33 horizontally or vertically or forced rule choice has failed 100
34 times due to areas about to become enclosed.
35
36 Although quasiperiodic tilings are produced, the tiles themselves are
37 not penrose tiles (darts and kites). In contrast to penrose tiles,
38 these tiles can be arranged to form a periodic tiling.
39
40 .SH OPTIONS
41 .I penrose
42 accepts the following options:
43 .TP 8
44 .B \-window
45 Draw on a newly-created window.  This is the default.
46 .TP 8
47 .B \-root
48 Draw on the root window.
49 .TP 8
50 .B \-mono 
51 If on a color display, pretend we're on a monochrome display.
52 .TP 8
53 .B \-install
54 Install a private colormap for the window.
55 .TP 8
56 .B \-visual \fIvisual\fP
57 Specify which visual to use.  Legal values are the name of a visual class,
58 or the id number (decimal or hex) of a specific visual.
59 .TP 8
60 .B \-ncolors \fIinteger\fP
61 How many colors should be used (if possible).  Default 64.
62 The colors are chosen randomly.
63 .TP 8
64 .B \-size \fIinteger\fP
65 How big the tiles should be.  Default 40 pixels.
66
67 .TP 8
68 .B \-delay \fImilliseconds\fP
69 How long (in 1/1,000,000'ths of a second) to wait between drawing each
70 tile.  Default 10,000 or .01 seconds.
71
72 .TP 8
73 .B \-ammann
74 .TP 8
75 .B \-no\-ammann
76 Whether Ammann lines should be added.
77
78 .TP 8
79 .B \-fps
80 Display the current frame rate and CPU load.
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.