45fcb4a88da62a12ee78a39268a5b26a60a8cf6f
[xscreensaver] / hacks / glx / polytopes.man
1 .TH XScreenSaver 1 "" "X Version 11"
2 .SH NAME
3 polytopes - Draws one of the six regular 4d polytopes rotating in 4d.
4 .SH SYNOPSIS
5 .B polytopes
6 [\-display \fIhost:display.screen\fP]
7 [\-install]
8 [\-visual \fIvisual\fP]
9 [\-window]
10 [\-root]
11 [\-delay \fIusecs\fP]
12 [\-fps]
13 [\-5-cell]
14 [\-8-cell]
15 [\-16-cell]
16 [\-24-cell]
17 [\-120-cell]
18 [\-600-cell]
19 [\-wireframe]
20 [\-surface]
21 [\-transparent]
22 [\-single-color]
23 [\-depth-colors]
24 [\-perspective-3d]
25 [\-orthographic-3d]
26 [\-perspective-4d]
27 [\-orthographic-4d]
28 [\-speed-wx \fIfloat\fP]
29 [\-speed-wy \fIfloat\fP]
30 [\-speed-wz \fIfloat\fP]
31 [\-speed-xy \fIfloat\fP]
32 [\-speed-xz \fIfloat\fP]
33 [\-speed-yz \fIfloat\fP]
34 .SH DESCRIPTION
35 The \fIpolytopes\fP program shows one of the six regular 4d polytopes
36 (5-cell, 8-cell, 16-cell, 24-cell, 120-cell, or 600-cell) rotating in
37 4d.  The program projects the 4d polytope to 3d using either a
38 perspective or an orthographic projection.  The projected 3d polytope
39 can then be projected to the screen either perspectively or
40 orthographically.  There are three display modes for the polytope:
41 mesh (wireframe), solid, or transparent.  Furthermore, the colors with
42 which the polytope is drawn can be set to either single color or to a
43 coloring according to the 4d "depth" (the w coordinate) of the
44 polytope in its unrotated position.  In the first case, the polytope
45 is drawn in red.  This coloring combined with transparency gives a
46 nice visual effect of the structure of the polytope.  The second mode
47 draws the polytope with a fully saturated color wheel in which the
48 edges or faces are colored accoring to their average 4d "depth".  This
49 mode is best combined with the wireframe mode, where it allows you to
50 see how different parts of the polytope are moved to the "inside" of
51 the projected polytope in 3d.  Of course, in 4d the cells, faces, and
52 edges of the polytope all have the same distance from the center of
53 the polytope.  Only the projection creates the appearance that some of
54 the cells lie "inside" the figure in 3d.
55 .SH OPTIONS
56 .I polytopes
57 accepts the following options:
58 .TP 8
59 .B \-window
60 Draw on a newly-created window.  This is the default.
61 .TP 8
62 .B \-root
63 Draw on the root window.
64 .TP 8
65 .B \-install
66 Install a private colormap for the window.
67 .TP 8
68 .B \-visual \fIvisual\fP
69 Specify which visual to use.  Legal values are the name of a visual
70 class, or the id number (decimal or hex) of a specific visual.
71 .TP 8
72 .B \-delay \fImicroseconds\fP
73 How much of a delay should be introduced between steps of the
74 animation.  Default 25000, or 1/40th second.
75 .PP
76 The following six options are mutually exclusive.  They determine
77 which polytope is displayed.
78 .TP 8
79 .B \-5-cell
80 Display the 5-cell.  The 5-cell is the 4d analogon of a regular
81 tetrahedron in 3d.  It has 5 regular tetrahedra as its cells, 10
82 equilateral triangles as faces, 10 edges, and 5 vertices.
83 .TP 8
84 .B \-8-cell
85 Display the 8-cell (a.k.a. hypercube or tessaract).  The 8-cell is the
86 4d analogon of a cube in 3d.  It has 8 cubes as its cells, 24 squares
87 as faces, 32 edges, and 16 vertices.
88 .TP 8
89 .B \-16-cell
90 Display the 16-cell.  The 16-cell is the 4d analogon of an octahedron
91 in 3d.  It has 16 regular tetrahedra as its cells, 32 equilateral
92 triangles as faces, 24 edges, and 8 vertices.
93 .TP 8
94 .B \-24-cell
95 Display the 24-cell.  The 24-cell has no 3d analogon.  It has 24
96 regular octahedra as its cells, 96 equilateral triangles as faces, 96
97 edges, and 24 vertices.
98 .TP 8
99 .B \-120-cell
100 Display the 120-cell.  The 120-cell has no 3d analogon.  It has 120
101 regular dodecahedra as its cells, 720 regular pentagons as faces, 1200
102 edges, and 600 vertices.
103 .TP 8
104 .B \-600-cell
105 Display the 600-cell.  The 600-cell has no 3d analogon.  It has 600
106 regular tetrahedra as its cells, 1200 equilateral triangles as faces,
107 720 edges, and 120 vertices.
108 .PP
109 The following three options are mutually exclusive.  They determine
110 how the polytope is displayed.
111 .TP 8
112 .B \-wireframe
113 Display the polytope as a wireframe mesh.
114 .TP 8
115 .B \-surface
116 Display the polytope as a solid object.
117 .TP 8
118 .B \-transparent
119 Display the polytope as a transparent object (default).
120 .PP
121 The following two options are mutually exclusive.  They determine how
122 to color the polytope.
123 .TP 8
124 .B \-single-color
125 Display the polytope in red.
126 .TP 8
127 .B \-depth-colors
128 Display the polytope with a fully saturated color wheel in which the
129 edges or faces are colored accoring to their average 4d "depth", i.e.,
130 the w coordinate of the polytope in its unrotated position (default).
131 .PP
132 The following two options are mutually exclusive.  They determine how
133 the polytope is projected from 3d to 2d (i.e., to the screen).
134 .TP 8
135 .B \-perspective-3d
136 Project the polytope from 3d to 2d using a perspective projection
137 (default).
138 .TP 8
139 .B \-orthographic-3d
140 Project the polytope from 3d to 2d using an orthographic projection.
141 .PP
142 The following two options are mutually exclusive.  They determine how
143 the polytope is projected from 4d to 3d.
144 .TP 8
145 .B \-perspective-4d
146 Project the polytope from 4d to 3d using a perspective projection
147 (default).
148 .TP 8
149 .B \-orthographic-4d
150 Project the polytope from 4d to 3d using an orthographic projection.
151 .PP
152 The following six options determine the rotation speed of the polytope
153 around the six possible hyperplanes.  The rotation speed is measured
154 in degrees per frame.  The speeds should be set to relatively small
155 values, e.g., less than 4 in magnitude.
156 .TP 8
157 .B \-speed-wx \fIfloat\fP
158 Rotation speed around the wx plane (default: 1.1).
159 .TP 8
160 .B \-speed-wy \fIfloat\fP
161 Rotation speed around the wy plane (default: 1.3).
162 .TP 8
163 .B \-speed-wz \fIfloat\fP
164 Rotation speed around the wz plane (default: 1.5).
165 .TP 8
166 .B \-speed-xy \fIfloat\fP
167 Rotation speed around the xy plane (default: 1.7).
168 .TP 8
169 .B \-speed-xz \fIfloat\fP
170 Rotation speed around the xz plane (default: 1.9).
171 .TP 8
172 .B \-speed-yz \fIfloat\fP
173 Rotation speed around the yz plane (default: 2.1).
174 .SH INTERACTION
175 If you run this program in standalone mode you can rotate the polytope
176 by dragging the mouse while pressing the left mouse button.  This
177 rotates the polytope in 3D, i.e., around the wx, wy, and wz planes.
178 If you press the shift key while dragging the mouse with the left
179 button pressed the polytope is rotated in 4D, i.e., around the xy, xz,
180 and yz planes.  To examine the polytope at your leisure, it is best to
181 set all speeds to 0.  Otherwise, the polytope will rotate while the
182 left mouse button is not pressed.
183 .B \-fps
184 Display the current frame rate, CPU load, and polygon count.
185 .SH ENVIRONMENT
186 .PP
187 .TP 8
188 .B DISPLAY
189 to get the default host and display number.
190 .TP 8
191 .B XENVIRONMENT
192 to get the name of a resource file that overrides the global resources
193 stored in the RESOURCE_MANAGER property.
194 .SH SEE ALSO
195 .BR X (1),
196 .BR xscreensaver (1)
197 .SH COPYRIGHT
198 Copyright \(co 2003-2005 by Carsten Steger.  Permission to use, copy,
199 modify, distribute, and sell this software and its documentation for
200 any purpose is hereby granted without fee, provided that the above
201 copyright notice appear in all copies and that both that copyright
202 notice and this permission notice appear in supporting documentation.
203 No representations are made about the suitability of this software for
204 any purpose.  It is provided "as is" without express or implied
205 warranty.
206 .SH AUTHOR
207 Carsten Steger <carsten@mirsanmir.org>, 28-sep-2005.