<?xml version="1.0" encoding="UTF-8"?>

<screensaver name="cubocteversion" _label="Cuboctahedron Eversion" gl="yes">

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

  <command arg="--root"/>

  <hgroup>

    <vgroup>
      <select id="deformation-style">
        <option id="random"       _label="Random deformation"/>
        <option id="morin-denner" _label="Morin-Denner" arg-set="--eversion-method morin-denner"/>
        <option id="apery"        _label="Apéry"        arg-set="--eversion-method apery"/>
      </select>

      <number id="deform-speed" type="slider" arg="--deformation-speed %"
              _label="Deformation speed"
              _low-label="1.0" _high-label="100.0"
              low="1.0" high="100.0" default="20.0"/>

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

    </vgroup>

    <vgroup>
      <select id="display-mode">
        <option id="random"      _label="Random surface"/>
        <option id="surface"     _label="Solid surface"       arg-set="--mode surface"/>
        <option id="transparent" _label="Transparent surface" arg-set="--mode transparent"/>
      </select>

      <select id="edge-tubes">
        <option id="random"     _label="Random edge tubes"/>
        <option id="wedgetube"  _label="With edge tubes"    arg-set="--edges on"/>
        <option id="woedgetube" _label="Without edge tubes" arg-set="--edges off"/>
      </select>

      <select id="self-tubes">
        <option id="random"     _label="Random self-intersection tubes"/>
        <option id="wselftube"  _label="With self-intersection tubes"    arg-set="--self-intersections on"/>
        <option id="woselftube" _label="Without self-intersection tubes" arg-set="--self-intersections off"/>
      </select>

      <select id="colors">
        <option id="random"   _label="Random coloration"/>
        <option id="twosided" _label="Two-sided"    arg-set="--colors two-sided"/>
        <option id="face"     _label="Face colors"  arg-set="--colors face"/>
        <option id="earth"    _label="Earth colors" arg-set="--colors earth"/>
      </select>

      <select id="projection">
        <option id="random"       _label="Random projection"/>
        <option id="perspective"  _label="Perspective"  arg-set="--projection perspective"/>
        <option id="orthographic" _label="Orthographic" arg-set="--projection orthographic"/>
      </select>

      <select id="transparency">
        <option id="correct"     _label="Correct transparency"/>
        <option id="approximate" _label="Approximate transparency" arg-set="--transparency approximate"/>
        <option id="standard"    _label="Standard transparency"    arg-set="--transparency standard"/>
      </select>

    </vgroup>

    <vgroup>
      <number id="speed-x" type="slider" arg="--speed-x %"
              _label="X rotation speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="0.0"/>

      <number id="speed-y" type="slider" arg="--speed-y %"
              _label="Y rotation speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="0.0"/>

      <number id="speed-z" type="slider" arg="--speed-z %"
              _label="Z rotation speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="0.0"/>
    </vgroup>

  </hgroup>

  <_description>
Turns a cuboctahedron inside out: a smooth deformation (homotopy). During
the eversion, the deformed cuboctahedron is allowed to intersect itself
transversally, however, no fold edges or non-injective neighborhoods of
vertices occur.

Inspired by the following papers: Richard Denner: "Versions polyédriques du
retournement de la sphère", L'Ouvert 94:32–45, March 1999. Richard Denner:
"Versions polyédriques du retournement de la sphère, retournement du
cuboctaèdre", L'Ouvert 95:15–36, June 1999. François Apéry: "Le
retournement du cuboctaèdre", Prépublication de l'institut de recherche
mathématique avancée, Université Louis Pasteur et C.N.R.S., Strasbourg,
1994.

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