1cubocteversion(6x)            XScreenSaver manual           cubocteversion(6x)
2
3
4

NAME

6       cubocteversion - Displays a cuboctahedron eversion.
7

SYNOPSIS

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

DESCRIPTION

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

BRIEF DESCRIPTION OF THE CUBOCTAHEDRON EVERSION BASICS

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

BRIEF DESCRIPTION OF THE MORIN-DENNER CUBOCTAHEDRON EVERSION METHOD

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

BRIEF DESCRIPTION OF THE APÉRY CUBOCTAHEDRON EVERSION METHOD

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

OPTIONS

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

INTERACTION

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

ENVIRONMENT

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

SEE ALSO

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

AUTHOR

398       Carsten Steger <carsten@mirsanmir.org>, 06-mar-2023.
399
400
401
402X Version 11               6.08-1.fc39 (17-Oct-2023)        cubocteversion(6x)
Impressum