sphereeversion(6)

πŸ“¦
version 6.15 Β· 2 versions
, in alpine 3.24, arch rolling, nixpkgs unstable

πŸ’– sphereeversion(6) πŸ’–

okay bestie, this is the XScreenSaver manual page for sphereeversion, and it is literally about a sphere turning inside out. no cap, it is iconic. ✨


πŸŽ€ NAME πŸŽ€

sphereeversion β€” displays a sphere eversion.

🌈 SYNOPSIS 🌈

run it like this, bestie:

sphereeversion [--display host:display.screen] [--install] [--visual
       visual] [--window] [--root] [--window-id number] [--delay usecs] [--fps]
       [--eversion-method method] [--analytic] [--corrugations] [--mode
       display-mode] [--surface] [--transparent] [--appearance appearance]
       [--solid] [--parallel-bands] [--meridian-bands] [--graticule mode]
       [--colors color-scheme] [--twosided-colors] [--parallel-colors]
       [--meridian-colors] [--earth-colors] [--deformation-speed float]
       [--projection mode] [--perspective] [--orthographic] [--surface-order
       order] [--lunes-1] [--lunes-2] [--lunes-4] [--lunes-8] [--hemispheres-1]
       [--hemispheres-2] [--speed-x float] [--speed-y float] [--speed-z float]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the sphereeversion program shows a sphere eversion, which is a smooth deformation (homotopy) that turns a sphere inside out. πŸ’… During the eversion, the deformed sphere is allowed to intersect itself transversally. However, no creases or pinch points are allowed to occur. periodt.

The sphere can be deformed with two eversion methods: analytic or corrugations. The analytic sphere eversion method is described in the following paper: Adam Bednorz, Witold Bednorz: "Analytic sphere eversion using ruled surfaces", Differential Geometry and its Applications 64:59-79, 2019. The corrugations sphere eversion method is described in the video "Outside In" by the Geometry Center (Bill Thurston, Silvio Levy, Delle Maxwell, Tamara Munzner, Nathaniel Thurston, David Ben-Zvi, Matt Headrick, et al.), 1994, and the accompanying booklet: Silvio Levy: "Making Waves - A Guide to the Ideas Behind Outside In", A K Peters, Wellesley, MA, 1995. See also the section "Brief Description of the Corrugations Sphere Eversion Method" below. 🫢

The deformed sphere can be projected to the screen either perspectively or orthographically.

There are three display modes for the sphere: solid, transparent, or random. If random mode is selected, the mode is changed each time an eversion has been completed.

The appearance of the sphere can be as a solid object, as a set of see-through bands, or random. The bands can be parallel bands or meridian bands, i.e., bands that run along the parallels (lines of latitude) or bands that run along the meridians (lines of longitude) of the sphere. If random mode is selected, the appearance is changed each time an eversion has been completed.

For the analytic sphere eversion, it is also possible to display a graticule (i.e., a coordinate grid consisting of parallel and meridian lines) on top of the surface. The graticule mode can be set to on, off, or random. If random mode is selected, the graticule mode is changed each time an eversion has been completed.

The colors with which the sphere is drawn can be set to two-sided, parallel, meridian, earth, or random. In two-sided mode, the sphere is drawn with red on one side and green on the other side (analytic eversion) or with gold on one side and purple on the other side (corrugations eversion). In parallel mode, the sphere is displayed with colors that run from blue to white to orange on one side of the surface and from magenta to black to green on the other side. The colors are aligned with the parallels of the sphere in this mode. In meridian mode, the sphere is displayed with colors that run from blue to white to orange to black and back to blue on one side of the surface and from magenta to white to green to black and back to magenta on the other side. The colors are aligned with the meridians of the sphere in this mode. In earth mode, the sphere is drawn with a texture of earth by day on one side and with a texture of earth by night on the other side. Initially, the earth by day is on the outside and the earth by night on the inside. After the first eversion, the earth by night will be on the outside. All points of the earth on the inside and outside are at the same positions on the sphere. Since an eversion transforms the sphere into its inverse, the earth by night will appear with all continents mirror reversed. If random mode is selected, the color scheme is changed each time an eversion has been completed. πŸ’–

By default, the sphere is rotated to a new viewing position each time an eversion has been completed. In addition, it is possible to rotate the sphere while it is deforming. The rotation speed for each of the three coordinate axes around which the sphere rotates can be chosen arbitrarily. For best effects, however, it is suggested to rotate only around the z axis while the sphere is deforming.

For the analytic sphere eversion, it is possible to define a surface order of the sphere eversion as random or as a value between 2 and 5. This determines the complexity of the deformation. For higher surface orders, some z-fighting might occur around the central stage of the eversion, which might lead to some irregular flickering of the displayed surface if it is displayed as a solid object. For odd surface orders, z-fighting will occur very close to the central stage of the eversion since the deformed sphere is a doubly covered Boy surface (for surface order 3) or a doubly covered generalized Boy surface (for surface order 5) in this case. If you find this distracting, you should set the surface order to 2. If a random surface order is selected, the surface order is changed each time an eversion has been completed. 😭

πŸŒ€ BRIEF DESCRIPTION OF THE CORRUGATIONS SPHERE EVERSION METHOD πŸŒ€

The corrugations sphere eversion method is described in detail in the video and booklet mentioned above. Briefly, the method works like this, bestie: imagine the sphere cut into eight spherical lunes (spherical biangles). Now imagine each lune to be a belt. The ends of the belt (which correspond to the north and south poles of the sphere) are pushed past each other. This creates a loop in the belt. If the belt were straightened out, it would contain a 360 degree rotation. This rotation can be removed by rotating each end of the belt by 180 degrees. Finally, the belt is pushed to the opposite side of the sphere, which causes the side of the belt that initially was inside the sphere to appear on the outside. πŸ”₯

The method described so far only works for a single lune (belt) and not for the entire sphere. To make it work for the entire sphere, corrugations (i.e., waves) must be added to the sphere. This happens in the first phase of the eversion. Then, the method described above is applied to the eight lunes. Finally, the corrugations are removed to obtain the everted sphere. ✨

To see the eversion for a single lune, the option --lunes-1 can be used. Using this option, the eversion, as described above, is easier to understand. It is also possible to display two lunes using --lunes-2 and four lunes using --lunes-4. Using fewer than eight lunes reduces the visual complexity of the eversion and may help to understand the method.

Furthermore, it is possible to display only one hemisphere using the option --hemispheres-1. This allows to see what is happening in the center of the sphere during the eversion. Note that the north and south half of the sphere move in a symmetric fashion during the eversion. Hence, the eversion is actually composed of 16 semi-lunes (spherical triangles from the equator to the poles) that all deform in the same manner. By specifying --lunes-1 --hemispheres-1, the deformation of one semi-lune can be observed. πŸ¦‹

Note that the options described above are only intended for educational purposes. They are not used if none of them are explicitly specified. πŸ’œ

πŸ’… OPTIONS πŸ’…

okay bestie, sphereeversion accepts all of these options. Pick your faves, keep the mutually exclusive groups to exactly one choice, and let’s go. πŸ’–

  • --window β€” draws on a newly-created window. This is the default, so if you don’t specify anything, that’s the vibe.
  • --root β€” draws on the root window. main-character desktop energy.
  • --window-id number β€” draws on the specified window.
  • --install β€” installs a private colormap for the window. yes, your own colormap, slay.
  • --visual visual β€” specifies which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.
  • --delay microseconds β€” how much of a delay should be introduced between steps of the animation. Default 10000, or 1/100th second.
  • --fps β€” displays the current frame rate, CPU load, and polygon count.

The next three options are mutually exclusive β€” one eversion method only, no mixing. They determine which sphere eversion method is used.

  • --eversion-method random β€” uses a random sphere eversion method. This is the default.
  • --eversion-method analytic (shortcut: --analytic) β€” uses the analytic sphere eversion method.
  • --eversion-method corrugations (shortcut: --corrugations) β€” uses the corrugations sphere eversion method.

These next three are also mutually exclusive, and they determine how the deformed sphere is displayed.

  • --mode random β€” displays the sphere in a random display mode. Default.
  • --mode surface (shortcut: --surface) β€” displays the sphere as a solid surface.
  • --mode transparent (shortcut: --transparent) β€” displays the sphere as a transparent surface.

These four are mutually exclusive too, bestie. They determine the appearance of the deformed sphere.

  • --appearance random β€” displays the sphere with a random appearance. Default.
  • --appearance solid (shortcut: --solid) β€” displays the sphere as a solid object.
  • --appearance parallel-bands (shortcut: --parallel-bands) β€” displays the sphere as see-through bands that lie along the parallels of the sphere.
  • --appearance meridian-bands (shortcut: --meridian-bands) β€” displays the sphere as see-through bands that lie along the meridians of the sphere.

The following three are mutually exclusive and determine whether a graticule is displayed on top of the sphere. Heads up: these options only have an effect if the analytic sphere eversion method is selected.

  • --graticule random β€” randomly chooses whether to display a graticule. Default.
  • --graticule on β€” displays a graticule.
  • --graticule off β€” does not display a graticule.

These five are mutually exclusive and determine how to color the deformed sphere. color theory but make it geometry. 🌈

  • --colors random β€” displays the sphere with a random color scheme. Default.
  • --colors twosided (shortcut: --twosided-colors) β€” displays the sphere with two colors: red on one side and green on the other side (analytic eversion) or gold on one side and purple on the other side (corrugations eversion).
  • --colors parallel (shortcut: --parallel-colors) β€” displays the sphere with colors that run from blue to white to orange on one side of the surface and from magenta to black to green on the other side. The colors are aligned with the parallels of the sphere. If the sphere is displayed as parallel bands, each band will be displayed with a different color.
  • --colors meridian (shortcut: --meridian-colors) β€” displays the sphere with colors that run from blue to white to orange to black and back to blue on one side of the surface and from magenta to white to green to black and back to magenta on the other side. The colors are aligned with the meridians of the sphere. If the sphere is displayed as meridian bands, each band will be displayed with a different color.
  • --colors earth (shortcut: --earth-colors) β€” displays the sphere with a texture of earth by day on one side and with a texture of earth by night on the other side. Initially, the earth by day is on the outside and the earth by night is on the inside. After the first eversion, the earth by night will be on the outside. All points of the earth on the inside and outside are at the same positions on the sphere. Since an eversion transforms the sphere into its inverse, the earth by night will appear with all continents mirror reversed.

The following option determines the deformation speed.

  • --deformation-speed float β€” the deformation speed is measured in percent of some sensible maximum speed (default: 10.0).

These three are mutually exclusive. They determine how the deformed sphere is projected from 3d to 2d (i.e., to the screen).

  • --projection random β€” projects the sphere from 3d to 2d using a random projection mode. Default.
  • --projection perspective (shortcut: --perspective) β€” projects the sphere from 3d to 2d using a perspective projection.
  • --projection orthographic (shortcut: --orthographic) β€” projects the sphere from 3d to 2d using an orthographic projection.

The following option determines the order of the surface to be displayed. This option only has an effect if the analytic sphere eversion method is selected.

  • --surface-order order β€” the surface order can be set to random or to a value between 2 and 5 (default: random). This determines the complexity of the deformation.

The following four options are mutually exclusive. They determine how many lunes of the sphere are displayed. These options only have an effect if the corrugations sphere eversion method is selected.

  • --lunes-1 β€” displays one of the eight lunes that form the sphere.
  • --lunes-2 β€” displays two of the eight lunes that form the sphere.
  • --lunes-4 β€” displays four of the eight lunes that form the sphere.
  • --lunes-8 β€” displays all eight lunes that form the sphere. Default.

The following two options are mutually exclusive. They determine how many hemispheres of the sphere are displayed. These options only have an effect if the corrugations sphere eversion method is selected.

  • --hemispheres-1 β€” displays only one hemisphere of the sphere.
  • --hemispheres-2 β€” displays both hemispheres of the sphere. Default.

The following three options determine the rotation speed of the deformed sphere around the three possible axes. The rotation speed is measured in degrees per frame. The speeds should be set to relatively small values, e.g., less than 4 in magnitude. These three are not exclusive β€” it’s one speed per axis, bestie. πŸŒ€

  • --speed-x float β€” rotation speed around the x axis (default: 0.0).
  • --speed-y float β€” rotation speed around the y axis (default: 0.0).
  • --speed-z float β€” rotation speed around the z axis (default: 0.0).

πŸ–±οΈ INTERACTION πŸ–±οΈ

If you run this program in standalone mode, you can rotate the deformed sphere by dragging the mouse while pressing the left mouse button. This rotates the sphere in 3d. To examine the deformed sphere at your leisure, it is best to set all speeds to 0. Otherwise, the deformed sphere will rotate while the left mouse button is not pressed. no cap, set those speeds to zero if you want to stare at it forever.

🌱 ENVIRONMENT 🌱

  • DISPLAY β€” to get the default host and display number.
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
  • XSCREENSAVER_WINDOW β€” the window ID to use with --root.

πŸ”— SEE ALSO πŸ”—

Legal tea, bestie β€” the wording stays exactly as it must. πŸ’…

Copyright Β© 2020 by Carsten Steger. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
Parts of the code in this program are based on the program "sphereEversion 0.4" by Michael J. McGuffin, which, in turn, is based on the program "Evert" developed by Nathaniel Thurston at the Geometry Center. The modified code is used with permission.

πŸ‘‘ AUTHOR πŸ‘‘

Carsten Steger <carsten@mirsanmir.org>, 01-jun-2020.


mwah πŸ’‹ β€” source/version/date realness: X Version 11, 6.15 (30-Mar-2026), and this iconic page is sphereeversion(6). slay. πŸŽ€

πŸ“¦ where this page comes from