<?xml version="1.0" encoding="ISO-8859-1"?>

<screensaver name="polytopes" _label="Polytopes">

 <command arg="-root"/>

 <hgroup>
  <select id="display-mode">
   <option id="wire" _label="Wireframe mesh"
           arg-set="-mode wireframe"/>
   <option id="surface" _label="Solid surface"
           arg-set="-mode surface"/>
   <option id="transparent" _label="Transparent surface"/>
  </select>

  <select id="polytope">
   <option id="random" _label="Random object"/>
   <option id="cell-5" _label="5-cell (hyper-tetrahedron)"
           arg-set="-polytope 5-cell"/>
   <option id="cell-8" _label="8-cell (hypercube / tesseract)"
           arg-set="-polytope 8-cell"/>
   <option id="cell-16" _label="16-cell (hyper-octahedron)"
           arg-set="-polytope 16-cell"/>
   <option id="cell-24" _label="24-cell"
           arg-set="-polytope 24-cell"/>
   <option id="cell-120" _label="120-cell"
           arg-set="-polytope 120-cell"/>
   <option id="cell-600" _label="600-cell"
           arg-set="-polytope 600-cell"/>
  </select>
</hgroup>

<hgroup>
  <select id="colors">
   <option id="single" _label="Single color" arg-set="-single-color"/>
   <option id="depth" _label="Colors By 4D Depth"/>
  </select>

  <select id="projection3d">
   <option id="perspective-3d" _label="Perspective 3D"/>
   <option id="orthographic-3d" _label="Orthographic 3D"
           arg-set="-orthographic-3d"/>
  </select>

  <select id="projection4d">
   <option id="perspective-4d" _label="Perspective 4D"/>
   <option id="orthographic-4d" _label="Orthographic 4D"
           arg-set="-orthographic-4d"/>
  </select>
</hgroup>

<hgroup>
  <vgroup>
   <number id="speed-wx" type="slider" arg="-speed-wx %"
           _label="WX rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="1.1"/>

   <number id="speed-wy" type="slider" arg="-speed-wy %"
           _label="WY rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="1.3"/>

   <number id="speed-wz" type="slider" arg="-speed-wz %"
           _label="WZ rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="1.5"/>

   <number id="delay" type="slider" arg="-delay %"
           _label="Frame rate" _low-label="Low" _high-label="High"
           low="0" high="100000" default="25000"
           convert="invert"/>
  </vgroup>
  <vgroup>
   <number id="speed-xy" type="slider" arg="-speed-xy %"
           _label="XY rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="1.7"/>

   <number id="speed-xz" type="slider" arg="-speed-xz %"
           _label="XZ rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="1.9"/>

   <number id="speed-yz" type="slider" arg="-speed-yz %"
           _label="YZ rotation speed"
           _low-label="-4.0" _high-label="4.0"
           low="-4.0" high="4.0" default="2.1"/>

   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
  </vgroup>
 </hgroup>

 <_description>

This shows one of the six regular 4D polytopes rotating in 4D.
Inspired by H.S.M Coxeter's book "Regular Polytopes", 3rd Edition,
Dover Publications, Inc., 1973, and Thomas Banchoff's book "Beyond the
Third Dimension: Geometry, Computer Graphics, and Higher Dimensions",
Scientific American Library, 1990.

http://en.wikipedia.org/wiki/Hypercube
http://en.wikipedia.org/wiki/Regular_polytope

Written by Carsten Steger; 2003.
  </_description>
</screensaver>
