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

FreeBSD Manual Pages

  
 
  

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

NAME
       projectiveplane - Draws a 4d embedding of the real projective plane.

SYNOPSIS
       projectiveplane	[--display  host:display.screen] [--install] [--visual
       visual]	[--window]  [--root]  [--window-id  number]  [--delay	usecs]
       [--fps] [--mode display-mode] [--wireframe] [--surface] [--transparent]
       [--appearance  appearance]  [--solid]  [--distance-bands] [--direction-
       bands] [--colors	color-scheme] [--onesided-colors]  [--twosided-colors]
       [--distance-colors]  [--direction-colors]  [--change-colors]  [--depth-
       colors] [--view-mode view-mode] [--walk]	[--turn] [--walk-turn] [--ori-
       entation-marks]	[--projection-3d  mode]	 [--perspective-3d]  [--ortho-
       graphic-3d]   [--projection-4d	mode]	[--perspective-4d]   [--ortho-
       graphic-4d] [--speed-wx float] [--speed-wy  float]  [--speed-wz	float]
       [--speed-xy float] [--speed-xz float] [--speed-yz float]	[--walk-direc-
       tion float] [--walk-speed float]

DESCRIPTION
       The projectiveplane program shows a 4d embedding	of the real projective
       plane.	You  can  walk	on the projective plane, see it	turn in	4d, or
       walk on it while	it turns in 4d.	 The fact that the surface is  an  em-
       bedding	of  the	 real  projective plane	in 4d can be seen in the depth
       colors mode (using static colors): set all rotation speeds to 0 and the
       projection mode to 4d orthographic projection.  In its default orienta-
       tion, the embedding of the real projective plane	will then  project  to
       the  Roman  surface,  which has three lines of self-intersection.  How-
       ever, at	the three lines	of self-intersection the parts of the  surface
       that intersect have different colors, i.e., different 4d	depths.

       The  real  projective  plane is a non-orientable	surface.  To make this
       apparent, the two-sided color mode can be used.	Alternatively,	orien-
       tation  markers	(curling  arrows) can be drawn as a texture map	on the
       surface of the projective  plane.   While  walking  on  the  projective
       plane,  you  will  notice  that	the  orientation of the	curling	arrows
       changes (which it must because the projective plane is non-orientable).

       The real	projective plane is a model for	the projective geometry	in  2d
       space.  One point can be	singled	out as the origin.  A line can be sin-
       gled out	as the line at infinity, i.e., a line that lies	at an infinite
       distance	 to  the  origin.  The line at infinity, like all lines	in the
       projective plane, is topologically a circle.  Points on the line	at in-
       finity are also used to model directions	in projective  geometry.   The
       origin  can  be	visualized  in different manners.  When	using distance
       colors (and using static	colors), the origin is the point that is  dis-
       played  as fully	saturated red, which is	easier to see as the center of
       the reddish area	on the projective plane.   Alternatively,  when	 using
       distance	bands, the origin is the center	of the only band that projects
       to  a  disk.  When using	direction bands, the origin is the point where
       all direction bands collapse to a  point.   Finally,  when  orientation
       markers	are being displayed, the origin	the the	point where all	orien-
       tation markers are compressed to	a point.  The  line  at	 infinity  can
       also  be	visualized in different	ways.  When using distance colors (and
       using static colors), the line at infinity is the  line	that  is  dis-
       played  as fully	saturated magenta.  When two-sided (and	static)	colors
       are used, the line at infinity lies at the points  where	 the  red  and
       green "sides" of	the projective plane meet (of course, the real projec-
       tive plane only has one side, so	this is	a design choice	of the visual-
       ization).  Alternatively, when orientation markers are being displayed,
       the  line at infinity is	the place where	the orientation	markers	change
       their orientation.

       Note that when the projective plane is displayed	with bands, the	orien-
       tation markers are placed in the	middle of  the	bands.	 For  distance
       bands,  the  bands are chosen in	such a way that	the band at the	origin
       is only half as wide as the remaining bands, which results  in  a  disk
       being displayed at the origin that has the same diameter	as the remain-
       ing  bands.  This choice, however, also implies that the	band at	infin-
       ity is half as wide as the other	bands.	Since the projective plane  is
       attached	 to itself (in a complicated fashion) at the line at infinity,
       effectively the band at infinity	is again  as  wide  as	the  remaining
       bands.	However,  since	 the  orientation markers are displayed	in the
       middle of the bands, this means that only one half of  the  orientation
       markers	will  be  displayed  twice at the line at infinity if distance
       bands are used.	If direction bands are used or if the projective plane
       is displayed as a solid surface,	the orientation	markers	are  displayed
       fully at	the respective sides of	the line at infinity.

       The  program projects the 4d projective plane to	3d using either	a per-
       spective	or an orthographic projection.	Which of the two  alternatives
       looks  more  appealing  is up to	you.  However, two famous surfaces are
       obtained	if orthographic	4d projection is used: The Roman  surface  and
       the cross cap.  If the projective plane is rotated in 4d, the result of
       the projection for certain rotations is a Roman surface and for certain
       rotations it is a cross cap.  The easiest way to	see this is to set all
       rotation	 speeds	 to  0 and the rotation	speed around the yz plane to a
       value different from 0.	However, for any 4d rotation speeds, the  pro-
       jections	 will  generally cycle between the Roman surface and the cross
       cap.  The difference is where the origin	and the	line at	infinity  will
       lie with	respect	to the self-intersections in the projections to	3d.

       The  projected projective plane can then	be projected to	the screen ei-
       ther perspectively or orthographically.	When using the walking	modes,
       perspective projection to the screen will be used.

       There  are  three  display  modes for the projective plane: mesh	(wire-
       frame), solid, or transparent.  Furthermore, the	appearance of the pro-
       jective plane can be as a solid object  or  as  a  set  of  see-through
       bands.	The  bands  can	be distance bands, i.e., bands that lie	at in-
       creasing	distances from the origin, or  direction  bands,  i.e.,	 bands
       that lie	at increasing angles with respect to the origin.

       When  the  projective plane is displayed	with direction bands, you will
       be able to see that each	direction band (modulo the "pinching"  at  the
       origin)	is a Moebius strip, which also shows that the projective plane
       is non-orientable.

       Finally,	the colors with	with the projective plane is drawn can be  set
       to  one-sided,  two-sided, distance, direction, or depth.  In one-sided
       mode, the projective plane  is  drawn  with  the	 same  color  on  both
       "sides."	 In two-sided mode (using static colors), the projective plane
       is  drawn with red on one "side"	and green on the "other	side."	As de-
       scribed above, the projective plane only	has one	 side,	so  the	 color
       jumps  from red to green	along the line at infinity.  This mode enables
       you to see that the projective plane is	non-orientable.	  If  changing
       colors  are  used  in two-sided mode, changing complementary colors are
       used on the respective "sides."	In distance mode, the projective plane
       is displayed with fully saturated colors	that depend on the distance of
       the points on the projective plane to the origin.  If static colors are
       used, the origin	is displayed in	red, while the	line  at  infinity  is
       displayed in magenta.  If the projective	plane is displayed as distance
       bands,  each  band will be displayed with a different color.  In	direc-
       tion mode, the projective plane is displayed with fully saturated  col-
       ors that	depend on the angle of the points on the projective plane with
       respect	to  the	 origin.   Angles in opposite directions to the	origin
       (e.g., 15 and 205 degrees) are displayed	in the same color  since  they
       are  projectively  equivalent.  If the projective plane is displayed as
       direction bands,	each band will be displayed with  a  different	color.
       Finally,	 in  depth  mode the projective	plane is displayed with	colors
       chosen depending	on the 4d "depth" (i.e.,  the  w  coordinate)  of  the
       points  on  the	projective plane at its	default	orientation in 4d.  As
       discussed above,	this mode enables you to see that the projective plane
       does not	intersect itself in 4d.

       The rotation speed for each of the six planes around which the  projec-
       tive plane rotates can be chosen.  For the walk-and-turn	mode, only the
       rotation	 speeds	around the true	4d planes are used (the	xy, xz,	and yz
       planes).

       Furthermore, in the walking modes the walking direction in the 2d  base
       square  of  the	projective  plane and the walking speed	can be chosen.
       The walking direction is	measured as an angle  in  degrees  in  the  2d
       square  that  forms the coordinate system of the	surface	of the projec-
       tive plane.  A value of 0 or 180	means that the walk is along a	circle
       at  a  randomly chosen distance from the	origin (parallel to a distance
       band).  A value of 90 or	270 means that the walk	is directly  from  the
       origin  to  the	line  at  infinity  and	back (analogous	to a direction
       band).  Any other value results in a curved path	from the origin	to the
       line at infinity	and back.

       This program is somewhat	inspired by Thomas Banchoff's book "Beyond the
       Third Dimension:	Geometry, Computer Graphics, and  Higher  Dimensions",
       Scientific American Library, 1990.

OPTIONS
       projectiveplane 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 four options are mutually exclusive.  They	determine  how
       the projective plane is displayed.

       --mode random
	       Display	the  projective	 plane	in  a random display mode (de-
	       fault).

       --mode wireframe	(Shortcut: --wireframe)
	       Display the projective plane as a wireframe mesh.

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

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

       The following three options are mutually	exclusive.  They determine the
       appearance of the projective plane.

       --appearance random
	       Display the projective plane  with  a  random  appearance  (de-
	       fault).

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

       --appearance distance-bands (Shortcut: --distance-bands)
	       Display	the  projective	plane as see-through bands that	lie at
	       increasing distances from the origin.

       --appearance direction-bands (Shortcut: --direction-bands)
	       Display the projective plane as see-through bands that  lie  at
	       increasing angles with respect to the origin.

       The  following four options are mutually	exclusive.  They determine how
       to color	the projective plane.

       --colors	random
	       Display the projective plane with a random  color  scheme  (de-
	       fault).

       --colors	onesided (Shortcut: --onesided-colors)
	       Display the projective plane with a single color.

       --colors	twosided (Shortcut: --twosided-colors)
	       Display	the  projective	 plane	with two colors: one color one
	       "side" and the complementary color on the  "other  side."   For
	       static  colors,	the  colors  are red and green.	 Note that the
	       line at infinity	lies at	the points where  the  red  and	 green
	       "sides"	of the projective plane	meet, i.e., where the orienta-
	       tion of the projective plane reverses.

       --colors	distance (Shortcut: --distance-colors)
	       Display the projective plane with fully saturated  colors  that
	       depend on the distance of the points on the projective plane to
	       the origin.  For	static colors, the origin is displayed in red,
	       while  the  line	 at  infinity is displayed in magenta.	If the
	       projective plane	is displayed as	distance bands,	each band will
	       be displayed with a different color.

       --colors	direction (Shortcut: --direction-colors)
	       Display the projective plane with fully saturated  colors  that
	       depend  on the angle of the points on the projective plane with
	       respect to the origin.  Angles in opposite  directions  to  the
	       origin  (e.g.,  15  and	205 degrees) are displayed in the same
	       color since they	are projectively equivalent.  If  the  projec-
	       tive  plane  is displayed as direction bands, each band will be
	       displayed with a	different color.

       --colors	depth (Shortcut: --depth)
	       Display the projective plane with colors	 chosen	 depending  on
	       the  4d	"depth"	 (i.e.,	the w coordinate) of the points	on the
	       projective plane	at its default orientation in 4d.

       The following options determine whether the colors with which the  pro-
       jective plane is	displayed are static or	are changing dynamically.

       --change-colors
	       Change  the colors with which the projective plane is displayed
	       dynamically.

       --no-change-colors
	       Use static colors to display the	projective plane (default).

       The following four options are mutually exclusive.  They	determine  how
       to view the projective plane.

       --view-mode random
	       View the	projective plane in a random view mode (default).

       --view-mode turn	(Shortcut: --turn)
	       View the	projective plane while it turns	in 4d.

       --view-mode walk	(Shortcut: --walk)
	       View the	projective plane as if walking on its surface.

       --view-mode walk-turn (Shortcut:	--walk-turn)
	       View  the projective plane as if	walking	on its surface.	 Addi-
	       tionally, the projective	plane turns around the true 4d	planes
	       (the xy,	xz, and	yz planes).

       The  following options determine	whether	orientation marks are shown on
       the projective plane.

       --orientation-marks
	       Display orientation marks on the	projective plane.

       --no-orientation-marks
	       Don't display orientation marks on the  projective  plane  (de-
	       fault).

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

       --projection-3d random
	       Project	the projective plane from 3d to	2d using a random pro-
	       jection mode (default).

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

       --projection-3d orthographic (Shortcut: --orthographic-3d)
	       Project	the  projective	 plane	from  3d to 2d using an	ortho-
	       graphic projection.

       The following three options are mutually	exclusive.  They determine how
       the projective plane is projected from 4d to 3d.

       --projection-4d random
	       Project the projective plane from 4d to 3d using	a random  pro-
	       jection mode (default).

       --projection-4d perspective (Shortcut: --perspective-4d)
	       Project	the projective plane from 4d to	3d using a perspective
	       projection.

       --projection-4d orthographic (Shortcut: --orthographic-4d)
	       Project the projective plane from 4d  to	 3d  using  an	ortho-
	       graphic projection.

       The  following  six options determine the rotation speed	of the projec-
       tive plane around the six possible hyperplanes.	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.  In walk mode, all	speeds
       are ignored.  In	walk-and-turn mode, the	3d rotation speeds are ignored
       (i.e., the wx, wy, and wz  speeds).   In	 walk-and-turn	mode,  smaller
       speeds  must be used than in the	turn mode to achieve a nice visualiza-
       tion.  Therefore, in walk-and-turn mode the speeds  you	have  selected
       are divided by 5	internally.

       --speed-wx float
	       Rotation	speed around the wx plane (default: 1.1).

       --speed-wy float
	       Rotation	speed around the wy plane (default: 1.3).

       --speed-wz float
	       Rotation	speed around the wz plane (default: 1.5).

       --speed-xy float
	       Rotation	speed around the xy plane (default: 1.7).

       --speed-xz float
	       Rotation	speed around the xz plane (default: 1.9).

       --speed-yz float
	       Rotation	speed around the yz plane (default: 2.1).

       The following two options determine the walking speed and direction.

       --walk-direction	float
	       The walking direction is	measured as an angle in	degrees	in the
	       2d  square  that	 forms the coordinate system of	the surface of
	       the projective plane (default: 83.0).  A	 value	of  0  or  180
	       means that the walk is along a circle at	a randomly chosen dis-
	       tance  from  the	origin (parallel to a distance band).  A value
	       of 90 or	270 means that the walk	is directly from the origin to
	       the line	at infinity and	back (analogous	to a direction	band).
	       Any other value results in a curved path	from the origin	to the
	       line at infinity	and back.

       --walk-speed float
	       The walking speed is measured in	percent	of some	sensible maxi-
	       mum speed (default: 20.0).

INTERACTION
       If  you	run  this program in standalone	mode in	its turn mode, you can
       rotate the projective plane by dragging the mouse  while	 pressing  the
       left  mouse  button.   This  rotates  the projective plane in 3D, i.e.,
       around the wx, wy, and wz planes.  If you press	the  shift  key	 while
       dragging	the mouse with the left	button pressed the projective plane is
       rotated	in 4D, i.e., around the	xy, xz,	and yz planes.	To examine the
       projective plane	at your	leisure, it is best to set all	speeds	to  0.
       Otherwise, the projective plane will rotate while the left mouse	button
       is  not	pressed.  This kind of interaction is not available in the two
       walk modes.

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)  2013-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  no-
       tice 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.

AUTHOR
       Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.

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

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

home | help