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

FreeBSD Manual Pages

  
 
  

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

NAME
       sphereeversion -	Displays a sphere eversion.

SYNOPSIS
       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 appear-
       ance]  [--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]   [--hemi-
       spheres-1]   [--hemispheres-2]	[--speed-x  float]  [--speed-y	float]
       [--speed-z float]

DESCRIPTION
       The sphereeversion program shows	a sphere eversion, i.e., a smooth  de-
       formation  (homotopy) that turns	a sphere inside	out.  During the ever-
       sion, 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  cor-
       rugations. The analytic sphere eversion method is described in the fol-
       lowing  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 Pe-
       ters, 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	with the sphere	is drawn can be	set to two-sided, par-
       allel, meridian,	earth, or random.  In two-sided	mode,  the  sphere  is
       drawn  with red on one side and green on	the other side (analytic ever-
       sion) or	with gold on one side and purple on the	other  side  (corruga-
       tions 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 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 ar-
       bitrarily.   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 the complexity of the deformation.  For higher sur-
       face orders, some z-fighting might occur	around the  central  stage  of
       the eversion, which might lead to some irregular	flickering of the dis-
       played  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 sur-
       face 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  as  fol-
       lows:  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  de-
       grees.  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, corruga-
       tions (i.e., waves) must	be added to the	sphere.	 This happens  in  the
       first  phase  of	the eversion.  Then, the method	described above	is ap-
       plied to	the eight lunes.  Finally, the corrugations are	removed	to ob-
       tain 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	under-
       stand 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 ever-
       sion.  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 deforma-
       tion 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
       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
	       animation.  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
       appearance 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 par-
	       allels of the sphere.

       --appearance meridian-bands (Shortcut: --meridian-bands)
	       Display	the  sphere  as	 see-through  bands that lie along the
	       meridians 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	paral-
	       lel 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.	  Ini-
	       tially,	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.

       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).

       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 projec-
	       tion.

       --projection orthographic (Shortcut: --orthographic)
	       Project the sphere from 3d to 2d	using an orthographic  projec-
	       tion.

       The  following  option  determines  the order of	the surface to be dis-
       played.	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 deformation.

       The  following four options are mutually	exclusive.  They determine how
       many lunes of the sphere	are displayed.	These options only have	an ef-
       fect 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  de-
       formed  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 rotate 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
	       resources 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 pur-
       pose 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	repre-
       sentations are made about the suitability of this software for any pur-
       pose.  It is provided "as is" without express or	implied	warranty.

       Parts of	the code in this program are based on the program "sphereEver-
       sion  0.4" by Michael J.	McGuffin, which, in turn, is based on the pro-
       gram "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.

X Version 11		      6.09 (07-Jun-2024)	     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+14.3.quarterly>

home | help