1cubocteversion(6x) XScreenSaver manual cubocteversion(6x)
2
3
4
6 cubocteversion - Displays a cuboctahedron eversion.
7
9 cubocteversion [--display host:display.screen] [--install] [--visual
10 visual] [--window] [--root] [--window-id number] [--delay usecs]
11 [--fps] [--eversion-method method] [--morin-denner] [--apery] [--mode
12 display-mode] [--surface] [--transparent] [--edges edge-mode] [--self-
13 intersections self-intersection-mode] [--colors color-scheme]
14 [--twosided-colors] [--face-colors] [--earth-colors] [--deformation-
15 speed float] [--projection projection-mode] [--perspective] [--ortho‐
16 graphic] [--transparency transparency-method] [--correct-transparency]
17 [--approximate-transparency] [--standard-transparency] [--speed-x
18 float] [--speed-y float] [--speed-z float]
19
21 The cubocteversion program shows a cuboctahedron eversion, i.e., a
22 smooth deformation (homotopy) that turns a cuboctahedron inside out.
23 During the eversion, the deformed cuboctahedron is allowed to intersect
24 itself transversally. However, no fold edges or non-injective neigh‐
25 borhoods of vertices are allowed to occur.
26
27 The cuboctahedron can be deformed with two eversion methods: Morin-Den‐
28 ner or Apéry. The Morin-Denner cuboctahedron eversion method is de‐
29 scribed in the following two papers: Richard Denner: "Versions
30 polyédriques du retournement de la sphère", L'Ouvert 94:32-45, March
31 1999; Richard Denner: "Versions polyédriques du retournement de la
32 sphère, retournement du cuboctaèdre", L'Ouvert 95:15-36, June 1999.
33 The Apéry cuboctahedron eversion method is described in the following
34 paper: François Apéry: "Le retournement du cuboctaèdre", Prépublication
35 de l'institut de recherche mathématique avancée, Université Louis Pas‐
36 teur et C.N.R.S., Strasbourg, 1994.
37
38 The deformed cuboctahedron can be projected to the screen either per‐
39 spectively or orthographically.
40
41 There are three display modes for the cuboctahedron: solid, transpar‐
42 ent, or random. If random mode is selected, the mode is changed each
43 time an eversion has been completed.
44
45 The edges of the faces of the cuboctahedron can be visualized in three
46 modes: without edge tubes, with edge tubes, or random. If edge tubes
47 are selected, solid gray tubes are displayed around the edges of the
48 cuboctahedron. This makes them more prominent. If random mode is se‐
49 lected, the mode is changed each time an eversion has been completed.
50
51 During the eversion, the cuboctahedron must intersect itself. It can
52 be selected how these self-intersections are displayed: without self-
53 intersection tubes, with self-intersection tubes, or random. If self-
54 intersection tubes are selected, solid orange tubes are displayed
55 around the self-intersections of the cuboctahedron. This makes them
56 more prominent. If random mode is selected, the mode is changed each
57 time an eversion has been completed.
58
59 The colors with with the cuboctahedron is drawn can be set to two-
60 sided, face, earth, or random. In two-sided mode, the cuboctahedron is
61 drawn with magenta on one side and cyan on the other side. In face
62 mode, the cuboctahedron is displayed with different colors for each
63 face. The colors of the faces are identical on the inside and outside
64 of the cuboctahedron. Colors on the northern hemi-cuboctahedron are
65 brighter than those on the southern hemi-cuboctahedron. In earth mode,
66 the cuboctahedron is drawn with a texture of earth by day on one side
67 and with a texture of earth by night on the other side. Initially, the
68 earth by day is on the outside and the earth by night on the inside.
69 After the first eversion, the earth by night will be on the outside.
70 All points of the earth on the inside and outside are at the same posi‐
71 tions on the cuboctahedron. Since an eversion transforms the cubocta‐
72 hedron into its inverse, the earth by night will appear with all conti‐
73 nents mirror reversed. If random mode is selected, the color scheme is
74 changed each time an eversion has been completed.
75
76 It is possible to rotate the cuboctahedron while it is deforming. The
77 rotation speed for each of the three coordinate axes around which the
78 cuboctahedron rotates can be chosen arbitrarily.
79
81 A sphere eversion turns the standard embedding of the unit sphere in‐
82 side-out in a smooth manner. Creases, pinch points, holes, etc. may
83 not occur during the eversion. However, the sphere may intersect it‐
84 self during the eversion. In mathematical terms, the eversion is a
85 regular homotopy between the sphere and the sphere point reflected at
86 its center. A convex bounded polyhedron of Euler characteristic 2 is
87 homeomorphic to a sphere. Since a polyhedron does not have a continuous
88 tangent bundle, it cannot be everted by a regular homotopy, which re‐
89 quires the tangent bundle induced by the homotopy to be continuous.
90 Instead, it is required that polyhedron does not develop fold edges
91 during the eversion and that a neighborhood of each vertex is injective
92 throughout the eversion. Fold edges occur whenever two faces that
93 share an edge become coplanar and all vertices of the two faces lie on
94 the same side of the edge in the plane in which they are coplanar.
95 Furthermore, it is required that all self-intersections between edges
96 that occur during the eversion are transversal, which means that they
97 must not occur at the vertices of the edges.
98
99 Any eversion of the sphere (smooth or polyhedral) must contain a
100 quadruple point. This is a point in which four different parts of the
101 deformed sphere intersect transversally. For a polyhedron, this means
102 that four different faces must intersect transversally. Four faces are
103 defined by four planes, each of which, in turn, is defined by three
104 vertices. By the above requirements, none of the twelve vertices that
105 define the four planes may coincide. Therefore, the minimum number of
106 vertices of a polyhedron that allows it to be everted is twelve. The
107 cuboctahedron has twelve vertices and the papers cited above show that
108 a cuboctahedron can indeed be everted.
109
110 A cuboctahedron has 14 faces: six squares and eight equilateral trian‐
111 gles. To perform the eversion, the cuboctahedron is oriented such that
112 two opposite squares are horizontal. One of these squares corresponds
113 to the north polar region and one to the south polar region if the
114 cubctahedron is identified with the round sphere. The four remaining
115 squares are vertical and lie in the tropical region around the equator.
116 Each square is then divided into two isosceles right triangles. The
117 four tropical squares are divided along the equator and the north and
118 south pole squares are divided in orthogonal directions: the edge in‐
119 troduced in the north pole square is orthogonal to that introduced in
120 the south pole square. This results in a triangulated version of the
121 cuboctahedron with 12 vertices, 30 edges, and 20 triangular faces.
122 This is the version of the cuboctahedron that can be everted.
123
125 The approach of Morin and Denner is to evert the cuboctahedron in 44
126 steps, resulting in 45 different polyhedra that occur as models. The
127 eversion is symmetric in time, so the 44 steps can be visualized by
128 time running from -22 to 22. Of the 45 models, 44 possess a twofold
129 rotational symmetry. The halfway model at time 0 possesses a fourfold
130 rotational symmetry. The halfway model is the model at which the
131 cuboctahedron is turned halfway inside-out. In each of the 44 steps,
132 two vertices of the cuboctahedron are moved along two respective
133 straight lines, each of which is an edge or an extension of an edge of
134 the cuboctahedron. After the eversion has been completed, the inside
135 of the cuboctahedron lies on the outside. Furthermore, all points of
136 the everted cuboctahedron lie at the antipodal points of the original
137 cuboctahedron.
138
139 The following description assumes that the cuboctahedron is visualized
140 in two-sided color mode. In the first 16 steps, the magenta cuboctahe‐
141 dron is deformed into a magenta polyhedron that Morin and Denner call
142 the bicorne. During this phase, no self-intersections occur. Topolog‐
143 ically, the bicorne is still an embedded sphere. The next twelve
144 steps, from time -6 to 6, are the most interesting steps of the ever‐
145 sion: the cuboctahedron intersects itself. It no longer is an embed‐
146 ding but an immersion. In this phase, progressively more of the cyan
147 inside becomes visible. These steps are shown at a two times slower
148 speed compared to the rest of the steps. At time 6, the eversion has
149 produced a cyan bicorne. At this step, the cuboctahetron has been
150 everted: it is an embedding of the everted sphere. In the remaining 16
151 steps, the cyan bicorne is deformed to the everted cuboctahedron.
152
154 The original approach of Apéry is to evert the cuboctahedron in four
155 steps, resulting in five different polyhedra that occur as models. The
156 eversion is symmetric in time, so the four steps can be visualized by
157 time running from -2 to 2. Of the five models, four possess a twofold
158 rotational symmetry. The halfway model at time 0 possesses a fourfold
159 rotational symmetry. The halfway model is the model at which the
160 cuboctahedron is turned halfway inside-out. In addition to the start
161 and end models at times -2 and 2, which both are cuboctahedra, and the
162 halfway model at time 0, the two intermediate models at times -1 and 1
163 are embeddings of the cuboctahedron. Apéry calls them gastrula because
164 they correspond to a cuboctahedron in which the northern hemi-cubocta‐
165 hedron has been pushed downwards so that it lies inside the southern
166 hemi-cuboctahedron. In each of the four steps, the cuboctahedron is
167 deformed by linearly interpolating the corresponding vertices between
168 two successive models. After the eversion has been completed, the in‐
169 side of the cuboctahedron lies on the outside. Furthermore, all points
170 of the everted cuboctahedron lie at the antipodal points of the origi‐
171 nal cuboctahedron.
172
173 During the development of this program, it was discovered that the lin‐
174 ear interpolation between the cuboctahedron and the gastrula causes the
175 deformed cuboctahedron to intersect itself for a brief period of time
176 shortly before the gastrula is reached. Therefore, an additional
177 model, devised by François Apéry and called pre-gastrula by him, was
178 inserted at times -1.25 and 1.25. This additional model avoids the
179 self-intersections before the gastrula is reached. The rest of Apéry's
180 approach remains unaffected: the vertices are interpolated linearly be‐
181 tween successive models.
182
183 The following description assumes that the cuboctahedron is visualized
184 in two-sided color mode. In the first two steps, the magenta cubocta‐
185 hedron is deformed into a magenta gastrula. During this phase, no
186 self-intersections occur. Topologically, the gastrula is still an em‐
187 bedded sphere. The next two steps, from time -1 to 1, are the most in‐
188 teresting steps of the eversion: the cuboctahedron intersects itself.
189 It no longer is an embedding but an immersion. In this phase, progres‐
190 sively more of the cyan inside becomes visible. At time 1, the ever‐
191 sion has produced a cyan gastrula. At this step, the cuboctahetron has
192 been everted: it is an embedding of the everted sphere. In the remain‐
193 ing two steps, the cyan gastrula is deformed to the everted cuboctahe‐
194 dron.
195
197 cubocteversion accepts the following options:
198
199 --window
200 Draw on a newly-created window. This is the default.
201
202 --root Draw on the root window.
203
204 --window-id number
205 Draw on the specified window.
206
207 --install
208 Install a private colormap for the window.
209
210 --visual visual
211 Specify which visual to use. Legal values are the name of a
212 visual class, or the id number (decimal or hex) of a specific
213 visual.
214
215 --delay microseconds
216 How much of a delay should be introduced between steps of the
217 animation. Default 20000, or 1/50th second.
218
219 --fps Display the current frame rate, CPU load, and polygon count.
220
221 The following three options are mutually exclusive. They determine
222 which cuboctahedron eversion method is used.
223
224 --eversion-method random
225 Use a random cuboctahedron eversion method (default).
226
227 --eversion-method morin-denner (Shortcut: --morin-denner)
228 Use the Morin-Denner cuboctahedron eversion method.
229
230 --eversion-method apery (Shortcut: --apery)
231 Use the Apéry cuboctahedron eversion method.
232
233 The following three options are mutually exclusive. They determine how
234 the deformed cuboctahedron is displayed.
235
236 --mode random
237 Display the cuboctahedron in a random display mode (default).
238
239 --mode surface (Shortcut: --surface)
240 Display the cuboctahedron as a solid surface.
241
242 --mode transparent (Shortcut: --transparent)
243 Display the cuboctahedron as a transparent surface.
244
245 The following three options are mutually exclusive. They determine
246 whether the edges of the cuboctahedron are displayed as solid gray
247 tubes.
248
249 --edges random
250 Randomly choose whether to display edge tubes (default).
251
252 --edges on
253 Display the cuboctahedron with edge tubes.
254
255 --edges off
256 Display the cuboctahedron without edge tubes.
257
258 The following three options are mutually exclusive. They determine
259 whether the self-intersections of the deformed cuboctahedron are dis‐
260 played as solid orange tubes.
261
262 --self-intersections random
263 Randomly choose whether to display self-intersection tubes (de‐
264 fault).
265
266 --self-intersections on
267 Display the cuboctahedron with self-intersection tubes.
268
269 --self-intersections off
270 Display the cuboctahedron without self-intersection tubes.
271
272 The following four options are mutually exclusive. They determine how
273 to color the deformed cuboctahedron.
274
275 --colors random
276 Display the cuboctahedron with a random color scheme (default).
277
278 --colors twosided (Shortcut: --twosided-colors)
279 Display the cuboctahedron with two colors: magenta on one side
280 and cyan on the other side.
281
282 --colors face (Shortcut: --face-colors)
283 Display the cuboctahedron with different colors for each face.
284 The colors of the faces are identical on the inside and outside
285 of the cuboctahedron. Colors on the northern hemi-cuboctahe‐
286 dron are brighter than those on the southern hemi-cuboctahe‐
287 dron.
288
289 --colors earth (Shortcut: --earth-colors)
290 Display the cuboctahedron with a texture of earth by day on one
291 side and with a texture of earth by night on the other side.
292 Initially, the earth by day is on the outside and the earth by
293 night on the inside. After the first eversion, the earth by
294 night will be on the outside. All points of the earth on the
295 inside and outside are at the same positions on the cuboctahe‐
296 dron. Since an eversion transforms the cuboctahedron into its
297 inverse, the earth by night will appear with all continents
298 mirror reversed.
299
300 The following option determines the deformation speed.
301
302 --deformation-speed float
303 The deformation speed is measured in percent of some sensible
304 maximum speed (default: 20.0).
305
306 The following three options are mutually exclusive. They determine how
307 the deformed cuboctahedron is projected from 3d to 2d (i.e., to the
308 screen).
309
310 --projection random
311 Project the cuboctahedron from 3d to 2d using a random projec‐
312 tion mode (default).
313
314 --projection perspective (Shortcut: --perspective)
315 Project the cuboctahedron from 3d to 2d using a perspective
316 projection.
317
318 --projection orthographic (Shortcut: --orthographic)
319 Project the cuboctahedron from 3d to 2d using an orthographic
320 projection.
321
322 The following three options are mutually exclusive. They determine
323 which transparency algorithm is used to display the transparent faces
324 of the cuboctahedron. If correct transparency is selected, a correct
325 but slower algorithm is used to render the transparent faces. If the
326 frame rate of this algorithm is too slow and results in a jerky anima‐
327 tion, it can be set to one of the other two modes. If approximate
328 transparency is selected, an transparency algorithm that provides an
329 approximation to the correct transparency is used. Finally, if stan‐
330 dard transparency is selected, a transparency algorithm that only uses
331 standard OpenGL transparency rendering features is used. It results in
332 a lower-quality rendering of the transparent faces in which the appear‐
333 ance depends on the order in which the faces are drawn. The approxi‐
334 mate and standard transparency algorithms are equally fast and, depend‐
335 ing on the GPU, can be significantly faster than the correct transpar‐
336 ency algorithm. The correct and approximate transparency algorithms
337 are automatically switched off if the OpenGL version supported by the
338 operating system does not support them (for example, on iOS and iPa‐
339 dOS).
340
341 --transparency correct (Shortcut: --correct-transparency)
342 Use a transparency algorithm that results in a correct render‐
343 ing of transparent surfaces (default).
344
345 --transparency approximate (Shortcut: --approximate-transparency)
346 Use a transparency algorithm that results in an approximately
347 correct rendering of transparent surfaces.
348
349 --transparency standard (Shortcut: --standard-transparency)
350 Use a transparency algorithm that uses only standard OpenGL
351 features for the rendering of transparent surfaces.
352
353 The following three options determine the rotation speed of the de‐
354 formed cuboctahedron around the three possible axes. The rotation
355 speed is measured in degrees per frame. The speeds should be set to
356 relatively small values, e.g., less than 4 in magnitude.
357
358 --speed-x float
359 Rotation speed around the x axis (default: 0.0).
360
361 --speed-y float
362 Rotation speed around the y axis (default: 0.0).
363
364 --speed-z float
365 Rotation speed around the z axis (default: 0.0).
366
368 If you run this program in standalone mode, you can rotate the deformed
369 cuboctahedron by dragging the mouse while pressing the left mouse but‐
370 ton. This rotates the cuboctahedron in 3d. To examine the deformed
371 cuboctahedron at your leisure, it is best to set all speeds to 0. Oth‐
372 erwise, the deformed cuboctahedron will rotate while the left mouse
373 button is not pressed.
374
376 DISPLAY to get the default host and display number.
377
378 XENVIRONMENT
379 to get the name of a resource file that overrides the global
380 resources stored in the RESOURCE_MANAGER property.
381
382 XSCREENSAVER_WINDOW
383 The window ID to use with --root.
384
386 X(1), xscreensaver(1),
387
389 Copyright © 2023 by Carsten Steger. Permission to use, copy, modify,
390 distribute, and sell this software and its documentation for any pur‐
391 pose is hereby granted without fee, provided that the above copyright
392 notice appear in all copies and that both that copyright notice and
393 this permission notice appear in supporting documentation. No repre‐
394 sentations are made about the suitability of this software for any pur‐
395 pose. It is provided "as is" without express or implied warranty.
396
398 Carsten Steger <carsten@mirsanmir.org>, 06-mar-2023.
399
400
401
402X Version 11 6.08-1.fc38 (17-Oct-2023) cubocteversion(6x)