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

FreeBSD Manual Pages

  
 
  

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

NAME
       cubocteversion -	Displays a cuboctahedron eversion.

SYNOPSIS
       cubocteversion  [--display  host:display.screen]	 [--install] [--visual
       visual]	[--window]  [--root]  [--window-id  number]  [--delay	usecs]
       [--fps]	[--eversion-method  method] [--morin-denner] [--apery] [--mode
       display-mode] [--surface] [--transparent] [--edges edge-mode]  [--self-
       intersections	 self-intersection-mode]    [--colors	 color-scheme]
       [--twosided-colors]  [--face-colors]  [--earth-colors]  [--deformation-
       speed  float]  [--projection projection-mode] [--perspective] [--ortho-
       graphic]	[--transparency	transparency-method]  [--correct-transparency]
       [--approximate-transparency]    [--standard-transparency]    [--speed-x
       float] [--speed-y float]	[--speed-z float]

DESCRIPTION
       The cubocteversion program shows	 a  cuboctahedron  eversion,  i.e.,  a
       smooth  deformation  (homotopy)	that turns a cuboctahedron inside out.
       During the eversion, the	deformed cuboctahedron is allowed to intersect
       itself transversally.  However, no fold edges or	 non-injective	neigh-
       borhoods	of vertices are	allowed	to occur.

       The cuboctahedron can be	deformed with two eversion methods: Morin-Den-
       ner  or	Apry.	The  Morin-Denner cuboctahedron	eversion method	is de-
       scribed in the following	two papers: Richard  Denner:  "Versions	 poly-
       driques	du  retournement  de la	sphre",	L'Ouvert 94:32-45, March 1999;
       Richard Denner: "Versions polydriques du	retournement de	la sphre,  re-
       tournement  du  cuboctadre",  L'Ouvert  95:15-36,  June 1999.  The Apry
       cuboctahedron eversion method is	described in the following paper: Fra-
       nois Apry: "Le retournement du cuboctadre", Prpublication de l'institut
       de recherche mathmatique	avance,	Universit Louis	Pasteur	 et  C.N.R.S.,
       Strasbourg, 1994.

       The  deformed  cuboctahedron can	be projected to	the screen either per-
       spectively or orthographically.

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

       The edges of the	faces of the cuboctahedron can be visualized in	 three
       modes:  without	edge tubes, with edge tubes, or	random.	 If edge tubes
       are selected, solid gray	tubes are displayed around the	edges  of  the
       cuboctahedron.	This makes them	more prominent.	 If random mode	is se-
       lected, the mode	is changed each	time an	eversion has been completed.

       During the eversion, the	cuboctahedron must intersect itself.   It  can
       be  selected  how these self-intersections are displayed: without self-
       intersection tubes, with	self-intersection tubes, or random.  If	 self-
       intersection  tubes  are	 selected,  solid  orange  tubes are displayed
       around the self-intersections of	the cuboctahedron.   This  makes  them
       more  prominent.	  If random mode is selected, the mode is changed each
       time an eversion	has been completed.

       The colors with with the	cuboctahedron is drawn	can  be	 set  to  two-
       sided, face, earth, or random.  In two-sided mode, the cuboctahedron is
       drawn  with  magenta  on	 one side and cyan on the other	side.  In face
       mode, the cuboctahedron is displayed with  different  colors  for  each
       face.   The colors of the faces are identical on	the inside and outside
       of the cuboctahedron.  Colors on	the  northern  hemi-cuboctahedron  are
       brighter	than those on the southern hemi-cuboctahedron.	In earth mode,
       the  cuboctahedron  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 posi-
       tions on	the cuboctahedron.  Since an eversion transforms the  cubocta-
       hedron into its inverse,	the earth by night will	appear with all	conti-
       nents mirror reversed.  If random mode is selected, the color scheme is
       changed each time an eversion has been completed.

       It  is possible to rotate the cuboctahedron while it is deforming.  The
       rotation	speed for each of the three coordinate axes around  which  the
       cuboctahedron rotates can be chosen arbitrarily.

BRIEF DESCRIPTION OF THE CUBOCTAHEDRON EVERSION	BASICS
       A  sphere  eversion turns the standard embedding	of the unit sphere in-
       side-out	in a smooth manner.  Creases, pinch points,  holes,  etc.  may
       not  occur  during the eversion.	 However, the sphere may intersect it-
       self during the eversion.  In mathematical terms,  the  eversion	 is  a
       regular	homotopy  between the sphere and the sphere point reflected at
       its center.  A convex bounded polyhedron	of Euler characteristic	 2  is
       homeomorphic to a sphere. Since a polyhedron does not have a continuous
       tangent	bundle,	 it cannot be everted by a regular homotopy, which re-
       quires the tangent bundle induced by the	 homotopy  to  be  continuous.
       Instead,	 it  is	 required  that	polyhedron does	not develop fold edges
       during the eversion and that a neighborhood of each vertex is injective
       throughout the eversion.	 Fold edges  occur  whenever  two  faces  that
       share  an edge become coplanar and all vertices of the two faces	lie on
       the same	side of	the edge in the	plane  in  which  they	are  coplanar.
       Furthermore,  it	 is required that all self-intersections between edges
       that occur during the eversion are transversal, which means  that  they
       must not	occur at the vertices of the edges.

       Any  eversion  of  the  sphere  (smooth	or  polyhedral)	must contain a
       quadruple point.	 This is a point in which four different parts of  the
       deformed	 sphere	intersect transversally.  For a	polyhedron, this means
       that four different faces must intersect	transversally.	Four faces are
       defined by four planes, each of which, in turn,	is  defined  by	 three
       vertices.   By the above	requirements, none of the twelve vertices that
       define the four planes may coincide.  Therefore,	the minimum number  of
       vertices	 of  a	polyhedron that	allows it to be	everted	is twelve. The
       cuboctahedron has twelve	vertices and the papers	cited above show  that
       a cuboctahedron can indeed be everted.

       A  cuboctahedron	has 14 faces: six squares and eight equilateral	trian-
       gles.  To perform the eversion, the cuboctahedron is oriented such that
       two opposite squares are	horizontal.  One of these squares  corresponds
       to  the	north  polar  region  and one to the south polar region	if the
       cubctahedron is identified with the round sphere.  The  four  remaining
       squares are vertical and	lie in the tropical region around the equator.
       Each  square  is	 then divided into two isosceles right triangles.  The
       four tropical squares are divided along the equator and the  north  and
       south  pole  squares are	divided	in orthogonal directions: the edge in-
       troduced	in the north pole square is orthogonal to that	introduced  in
       the  south  pole	square.	 This results in a triangulated	version	of the
       cuboctahedron with 12 vertices, 30  edges,  and	20  triangular	faces.
       This is the version of the cuboctahedron	that can be everted.

BRIEF DESCRIPTION OF THE MORIN-DENNER CUBOCTAHEDRON EVERSION METHOD
       The  approach  of  Morin	and Denner is to evert the cuboctahedron in 44
       steps, resulting	in 45 different	polyhedra that occur as	 models.   The
       eversion	 is  symmetric	in  time, so the 44 steps can be visualized by
       time running from -22 to	22.  Of	the 45 models, 44  possess  a  twofold
       rotational  symmetry.  The halfway model	at time	0 possesses a fourfold
       rotational symmetry.  The halfway model	is  the	 model	at  which  the
       cuboctahedron  is  turned halfway inside-out.  In each of the 44	steps,
       two vertices of	the  cuboctahedron  are	 moved	along  two  respective
       straight	 lines,	each of	which is an edge or an extension of an edge of
       the cuboctahedron.  After the eversion has been completed,  the	inside
       of  the	cuboctahedron lies on the outside.  Furthermore, all points of
       the everted cuboctahedron lie at	the antipodal points of	 the  original
       cuboctahedron.

       The  following description assumes that the cuboctahedron is visualized
       in two-sided color mode.	 In the	first 16 steps,	the magenta cuboctahe-
       dron is deformed	into a magenta polyhedron that Morin and  Denner  call
       the bicorne.  During this phase,	no self-intersections occur.  Topolog-
       ically,	the  bicorne  is  still	 an  embedded sphere.  The next	twelve
       steps, from time	-6 to 6, are the most interesting steps	of  the	 ever-
       sion:  the  cuboctahedron intersects itself.  It	no longer is an	embed-
       ding but	an immersion.  In this phase, progressively more of  the  cyan
       inside  becomes	visible.   These steps are shown at a two times	slower
       speed compared to the rest of the steps.	 At time 6, the	 eversion  has
       produced	 a  cyan  bicorne.   At	 this step, the	cuboctahetron has been
       everted:	it is an embedding of the everted sphere.  In the remaining 16
       steps, the cyan bicorne is deformed to the everted cuboctahedron.

BRIEF DESCRIPTION OF THE APRY CUBOCTAHEDRON EVERSION METHOD
       The original approach of	Apry is	to evert  the  cuboctahedron  in  four
       steps, resulting	in five	different polyhedra that occur as models.  The
       eversion	 is  symmetric in time,	so the four steps can be visualized by
       time running from -2 to 2.  Of the five models, four possess a  twofold
       rotational  symmetry.  The halfway model	at time	0 possesses a fourfold
       rotational symmetry.  The halfway model	is  the	 model	at  which  the
       cuboctahedron  is  turned halfway inside-out.  In addition to the start
       and end models at times -2 and 2, which both are	cuboctahedra, and  the
       halfway	model at time 0, the two intermediate models at	times -1 and 1
       are embeddings of the cuboctahedron.  Apry calls	them gastrula  because
       they  correspond	to a cuboctahedron in which the	northern hemi-cubocta-
       hedron has been pushed downwards	so that	it lies	 inside	 the  southern
       hemi-cuboctahedron.   In	 each  of the four steps, the cuboctahedron is
       deformed	by linearly interpolating the corresponding  vertices  between
       two  successive models.	After the eversion has been completed, the in-
       side of the cuboctahedron lies on the outside.  Furthermore, all	points
       of the everted cuboctahedron lie	at the antipodal points	of the	origi-
       nal cuboctahedron.

       During the development of this program, it was discovered that the lin-
       ear interpolation between the cuboctahedron and the gastrula causes the
       deformed	 cuboctahedron	to intersect itself for	a brief	period of time
       shortly before the  gastrula  is	 reached.   Therefore,	an  additional
       model,  devised by Franois Apry and called pre-gastrula by him, was in-
       serted at times -1.25 and 1.25.	This additional	model avoids the self-
       intersections before the	gastrula is reached.  The rest of  Apry's  ap-
       proach  remains	unaffected: the	vertices are interpolated linearly be-
       tween successive	models.

       The following description assumes that the cuboctahedron	is  visualized
       in  two-sided color mode.  In the first two steps, the magenta cubocta-
       hedron is deformed into a magenta  gastrula.   During  this  phase,  no
       self-intersections  occur.  Topologically, the gastrula is still	an em-
       bedded sphere.  The next	two steps, from	time -1	to 1, are the most in-
       teresting steps of the eversion:	the cuboctahedron  intersects  itself.
       It no longer is an embedding but	an immersion.  In this phase, progres-
       sively  more  of	the cyan inside	becomes	visible.  At time 1, the ever-
       sion has	produced a cyan	gastrula.  At this step, the cuboctahetron has
       been everted: it	is an embedding	of the everted sphere.	In the remain-
       ing two steps, the cyan gastrula	is deformed to the everted  cuboctahe-
       dron.

OPTIONS
       cubocteversion 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 20000, or 1/50th second.

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

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

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

       --eversion-method morin-denner (Shortcut: --morin-denner)
	       Use the Morin-Denner cuboctahedron eversion method.

       --eversion-method apery (Shortcut: --apery)
	       Use the Apry cuboctahedron eversion method.

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

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

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

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

       The  following  three  options  are mutually exclusive.	They determine
       whether the edges of the	cuboctahedron  are  displayed  as  solid  gray
       tubes.

       --edges random
	       Randomly	choose whether to display edge tubes (default).

       --edges on
	       Display the cuboctahedron with edge tubes.

       --edges off
	       Display the cuboctahedron without edge tubes.

       The  following  three  options  are mutually exclusive.	They determine
       whether the self-intersections of the deformed cuboctahedron  are  dis-
       played as solid orange tubes.

       --self-intersections random
	       Randomly	choose whether to display self-intersection tubes (de-
	       fault).

       --self-intersections on
	       Display the cuboctahedron with self-intersection	tubes.

       --self-intersections off
	       Display the cuboctahedron without self-intersection tubes.

       The  following four options are mutually	exclusive.  They determine how
       to color	the deformed cuboctahedron.

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

       --colors	twosided (Shortcut: --twosided-colors)
	       Display the cuboctahedron with two colors: magenta on one  side
	       and cyan	on the other side.

       --colors	face (Shortcut:	--face-colors)
	       Display	the cuboctahedron with different colors	for each face.
	       The colors of the faces are identical on	the inside and outside
	       of the cuboctahedron.  Colors on	the  northern  hemi-cuboctahe-
	       dron  are  brighter  than those on the southern hemi-cuboctahe-
	       dron.

       --colors	earth (Shortcut: --earth-colors)
	       Display the cuboctahedron 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  cuboctahe-
	       dron.   Since an	eversion transforms the	cuboctahedron 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: 20.0).

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

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

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

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

       The following three options are	mutually  exclusive.   They  determine
       which  transparency  algorithm is used to display the transparent faces
       of the cuboctahedron.  If correct transparency is selected,  a  correct
       but  slower  algorithm is used to render	the transparent	faces.	If the
       frame rate of this algorithm is too slow	and results in a jerky	anima-
       tion,  it  can  be  set	to one of the other two	modes.	If approximate
       transparency is selected, an transparency algorithm  that  provides  an
       approximation  to  the correct transparency is used.  Finally, if stan-
       dard transparency is selected, a	transparency algorithm that only  uses
       standard	OpenGL transparency rendering features is used.	 It results in
       a lower-quality rendering of the	transparent faces in which the appear-
       ance  depends  on the order in which the	faces are drawn.  The approxi-
       mate and	standard transparency algorithms are equally fast and, depend-
       ing on the GPU, can be significantly faster  than  the  correct	trans-
       parency algorithm.  The correct and approximate transparency algorithms
       are  automatically  switched off	if the OpenGL version supported	by the
       operating system	does not support them (for example, on	iOS  and  iPa-
       dOS).

       --transparency correct (Shortcut: --correct-transparency)
	       Use  a transparency algorithm that results in a correct render-
	       ing of transparent surfaces (default).

       --transparency approximate (Shortcut: --approximate-transparency)
	       Use a transparency algorithm that results in  an	 approximately
	       correct rendering of transparent	surfaces.

       --transparency standard (Shortcut: --standard-transparency)
	       Use  a  transparency  algorithm	that uses only standard	OpenGL
	       features	for the	rendering of transparent surfaces.

       The following three options determine the rotation  speed  of  the  de-
       formed  cuboctahedron  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
       cuboctahedron  by dragging the mouse while pressing the left mouse but-
       ton.  This rotates the cuboctahedron in 3d.  To	examine	 the  deformed
       cuboctahedron at	your leisure, it is best to set	all speeds to 0.  Oth-
       erwise,	the  deformed  cuboctahedron  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),

COPYRIGHT
       Copyright (C) 2023 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.

AUTHOR
       Carsten Steger <carsten@mirsanmir.org>, 06-mar-2023.

X Version 11		      6.09 (07-Jun-2024)	     cubocteversion(6)

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

home | help