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

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

 <command arg="--root"/>

  <video href="https://www.youtube.com/watch?v=MKZQ5Q7QINM"/>

 <hgroup>
  <vgroup>
   <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>

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

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

  </vgroup>

  <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"/>
  </vgroup>
 </hgroup>

  <xscreensaver-updater />

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

https://en.wikipedia.org/wiki/Hypercube
https://en.wikipedia.org/wiki/Tesseract
https://en.wikipedia.org/wiki/Regular_polytope

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