Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
sphereeversion(6)	       XScreenSaver manual	       sphereeversion(6)

NAME
     sphereeversion - Displays a sphere eversion.

SYNOPSIS
     sphereeversion  [--display  host:display.screen]  [--install] [--visual vi-
     sual] [--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] [--per-
     spective] [--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
     The sphereeversion program shows a sphere eversion, i.e., a smooth deforma-
     tion (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.

     The sphere can be deformed with two eversion methods: analytic or	corruga-
     tions.  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" be-
     low.

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

     There  are  three display modes for the sphere: solid, transparent, or ran-
     dom.  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 gratic-
     ule (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 with 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 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 meridi-
     ans 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 co-
     ordinate  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 de-
     termines the 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  sur-
     face  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 as follows:  Imagine
     the  sphere cut into eight spherical lunes (spherical biangles).  Now imag-
     ine 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 cre-
     ates  a loop in the belt.	If the belt were straightened out, it would con-
     tain 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 oppo-
     site 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  under-
     stand.   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  ever-
     sion  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 ob-
     served.

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

OPTIONS
     sphereeversion accepts the following options:

     --window
	     Draw on a newly-created window.  This is the default.

     --root  Draw on the root window.

     --window-id number
	     Draw on the specified window.

     --install
	     Install a private colormap for the window.

     --visual visual
	     Specify 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 ani-
	     mation.  Default 10000, or 1/100th second.

     --fps   Display the current frame rate, CPU load, and polygon count.

     The following three options are mutually exclusive.  They	determine  which
     sphere eversion method is used.

     --eversion-method random
	     Use a random sphere eversion method (default).

     --eversion-method analytic (Shortcut: --analytic)
	     Use the analytic sphere eversion method.

     --eversion-method corrugations (Shortcut: --corrugations)
	     Use the corrugations sphere eversion method.

     The following three options are mutually exclusive.  They determine how the
     deformed sphere is displayed.

     --mode random
	     Display the sphere in a random display mode (default).

     --mode surface (Shortcut: --surface)
	     Display the sphere as a solid surface.

     --mode transparent (Shortcut: --transparent)
	     Display the sphere as a transparent surface.

     The  following four options are mutually exclusive.  They determine the ap-
     pearance of the deformed sphere.

     --appearance random
	     Display the sphere with a random appearance (default).

     --appearance solid (Shortcut: --solid)
	     Display the sphere as a solid object.

     --appearance parallel-bands (Shortcut: --parallel-bands)
	     Display the sphere as see-through bands that lie along  the  paral-
	     lels of the sphere.

     --appearance meridian-bands (Shortcut: --meridian-bands)
	     Display  the sphere as see-through bands that lie along the meridi-
	     ans of the sphere.

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

     --graticule random
	     Randomly choose whether to display a graticule (default).

     --graticule on
	     Display a graticule.

     --graticule off
	     Do not display a graticule.

     The  following  five options are mutually exclusive.  They determine how to
     color the deformed sphere.

     --colors random
	     Display the sphere with a random color scheme (default).

     --colors twosided (Shortcut: --twosided-colors)
	     Display 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)
	     Display the sphere with colors that run from 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)
	     Display  the sphere with colors that run from 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)
	     Display 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 on the in-
	     side.  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 maxi-
	     mum speed (default: 10.0).

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

     --projection random
	     Project  the  sphere  from  3d to 2d using a random projection mode
	     (default).

     --projection perspective (Shortcut: --perspective)
	     Project the sphere from 3d to 2d using a perspective projection.

     --projection orthographic (Shortcut: --orthographic)
	     Project 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 the complexity of the de-
	     formation.

     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
	     Display one of the eight lunes that form the sphere.

     --lunes-2
	     Display two of the eight lunes that form the sphere.

     --lunes-4
	     Display four of the eight lunes that form the sphere.

     --lunes-8
	     Display 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
	     Display only one hemisphere of the sphere.

     --hemispheres-2
	     Display 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.

     --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 ro-
     tate while the left mouse button is not pressed.

ENVIRONMENT
     DISPLAY
	     to get the default host and display number.

     XENVIRONMENT
	     to  get  the  name of a resource file that overrides the global re-
	     sources stored in the RESOURCE_MANAGER property.

     XSCREENSAVER_WINDOW
	     The window ID to use with --root.

SEE ALSO
     X(1), xscreensaver(1),
     https://profs.etsmtl.ca/mmcguffin/eversion/,
     http://www.geom.uiuc.edu/docs/outreach/oi/software.html

COPYRIGHT
     Copyright (C) 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 no-
     tice 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 modi-
     fied code is used with permission.

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

X Version 11		       6.15 (30-Mar-2026)	       sphereeversion(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sphereeversion&sektion=6&manpath=FreeBSD+Ports+15.1.quarterly>

home | help