diff options
Diffstat (limited to 'hacks/config/etruscanvenus.xml')
-rw-r--r-- | hacks/config/etruscanvenus.xml | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/hacks/config/etruscanvenus.xml b/hacks/config/etruscanvenus.xml new file mode 100644 index 0000000..090b102 --- /dev/null +++ b/hacks/config/etruscanvenus.xml @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<screensaver name="etruscanvenus" _label="EtruscanVenus" gl="yes"> + + <video href="https://www.youtube.com/watch?v=p3MgGyie6-I"/> + + <command arg="-root"/> + + <hgroup> + <select id="view-mode"> + <option id="walk" _label="Random motion"/> + <option id="walk" _label="Walk" arg-set="-view-mode walk"/> + <option id="turn" _label="Turn" arg-set="-view-mode turn"/> + </select> + + <boolean id="orientation-marks" _label="Show orientation marks" + arg-set="-orientation-marks"/> + </hgroup> + + <hgroup> + <boolean id="deform" _label="Deform the surface" + arg-unset="-no-deform"/> + + <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="10.0"/> + + <number id="init-deform" type="slider" arg="-initial-deformation %" + _label="Initial deformation" + _low-label="0.0" _high-label="3999.0" + low="0.0" high="3999.0" default="0.0"/> + </hgroup> + + + <hgroup> + + <vgroup> + <select id="display-mode"> + <option id="random" _label="Random surface"/> + <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" arg-set="-mode transparent"/> + </select> + + <select id="appearance"> + <option id="random" _label="Random pattern"/> + <option id="solid" _label="Solid object" arg-set="-appearance solid"/> + <option id="bands" _label="Distance bands" arg-set="-appearance distance-bands"/> + <option id="bands" _label="Direction bands" arg-set="-appearance direction-bands"/> + </select> + + <select id="colors"> + <option id="random" _label="Random coloration"/> + <option id="twosided" _label="One-sided" arg-set="-colors one-sided"/> + <option id="twosided" _label="Two-sided" arg-set="-colors two-sided"/> + <option id="rainbow" _label="Distance colors" arg-set="-colors distance"/> + <option id="rainbow" _label="Direction colors" arg-set="-colors direction"/> + </select> + + <boolean id="change-colors" _label="Change colors" + arg-unset="-no-change-colors"/> + + <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> + </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="1.1"/> + + <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="1.3"/> + + <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="1.5"/> + </vgroup> + + <vgroup> + <number id="walk-direction" type="slider" arg="-walk-direction %" + _label="Walking direction" + _low-label="-180.0" _high-label="180.0" + low="-180.0" high="180.0" default="83.0"/> + + <number id="walk-speed" type="slider" arg="-walk-speed %" + _label="Walking speed" + _low-label="1.0" _high-label="100.0" + low="1.0" high="100.0" default="20.0"/> + + <number id="delay" type="slider" arg="-delay %" + _label="Frame rate" _low-label="Low" _high-label="High" + low="0" high="100000" default="10000" + convert="invert"/> + </vgroup> + + <vgroup> + <xscreensaver-updater /> + <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/> + </vgroup> + + </hgroup> + + <_description> +A 3D immersion of of a Klein bottle that smoothly deforms between the +Etruscan Venus surface, the Roman surface, the Boy surface, and the +Ida surface. Topologically, all surfaces are Klein bottles, even the +Roman and Boy surfaces, which are doubly covered and therefore appear +to be an immersed real projective plane. + +You can walk on the Klein bottle or rotate it in 3D. Since all the +surfaces except the Ida surfaces have points where the surface normal +is not well defined for some points, walking is performed on the Ida +surface. Furthermore, it is possible to smoothly deform the surface +between the Etruscan Venus surface, the Roman surface, the Boy +surface, and the Ida surface surface while turning it. + +Inspired by George K. Francis's book "A Topological Picturebook", +Springer, 1987, George K. Francis's paper "The Etruscan Venus" in +P. Concus, R. Finn, and D. A. Hoffman: "Geometric Analysis and +Computer Graphics", Springer, 1991, and a video entitled "The Etruscan +Venus" by Donna J. Cox, George K. Francis, and Raymond L. Idaszak, +presented at SIGGRAPH 1989. + +https://en.wikipedia.org/wiki/Boy%27s_surface +https://en.wikipedia.org/wiki/Roman_surface +https://en.wikipedia.org/wiki/Klein_bottle +http://mathworld.wolfram.com/BoySurface.html +http://mathworld.wolfram.com/RomanSurface.html +http://mathworld.wolfram.com/EtruscanVenusSurface.html +http://mathworld.wolfram.com/IdaSurface.html + +Written by Carsten Steger; 2020. + </_description> +</screensaver> |