1 <?xml version="1.0" encoding="ISO-8859-1"?>
3 <screensaver name="klein" _label="Klein" gl="yes">
7 <video href="https://www.youtube.com/watch?v=c2gvyGVNG80"/>
10 <select id="kleinbottle">
11 <option id="random" _label="Random shape"/>
12 <option id="figure-8" _label="Figure 8" arg-set="-klein-bottle figure-8"/>
13 <option id="squeezed-torus" _label="Squeezed torus" arg-set="-klein-bottle squeezed-torus"/>
14 <option id="lawson" _label="Lawson" arg-set="-klein-bottle lawson"/>
17 <select id="view-mode">
18 <option id="walk" _label="Random motion"/>
19 <option id="walk" _label="Walk" arg-set="-view-mode walk"/>
20 <option id="turn" _label="Turn" arg-set="-view-mode turn"/>
21 <option id="walk-turn" _label="Walk and turn" arg-set="-view-mode walk-turn"/>
24 <boolean id="orientation-marks" _label="Show orientation marks"
25 arg-set="-orientation-marks"/>
29 <select id="display-mode">
30 <option id="random" _label="Random surface"/>
31 <option id="wire" _label="Wireframe mesh" arg-set="-mode wireframe"/>
32 <option id="surface" _label="Solid surface" arg-set="-mode surface"/>
33 <option id="transparent" _label="Transparent surface" arg-set="-mode transparent"/>
36 <select id="appearance">
37 <option id="random" _label="Random pattern"/>
38 <option id="solid" _label="Solid object" arg-set="-appearance solid"/>
39 <option id="bands" _label="See-through bands" arg-set="-appearance bands"/>
43 <option id="random" _label="Random coloration"/>
44 <option id="twosided" _label="Two-sided" arg-set="-colors two-sided"/>
45 <option id="rainbow" _label="Rainbow colors" arg-set="-colors rainbow"/>
46 <option id="depth" _label="4d depth colors" arg-set="-colors depth"/>
49 <select id="projection3d">
50 <option id="random" _label="Random 3D"/>
51 <option id="perspective-3d" _label="Perspective 3D" arg-set="-projection-3d perspective"/>
52 <option id="orthographic-3d" _label="Orthographic 3D" arg-set="-projection-3d orthographic"/>
55 <select id="projection4d">
56 <option id="random" _label="Random 4D"/>
57 <option id="perspective-4d" _label="Perspective 4D" arg-set="-projection-4d perspective"/>
58 <option id="orthographic-4d" _label="Orthographic 4D" arg-set="-projection-4d orthographic"/>
64 <number id="speed-wx" type="slider" arg="-speed-wx %"
65 _label="WX rotation speed"
66 _low-label="-4.0" _high-label="4.0"
67 low="-4.0" high="4.0" default="1.1"/>
69 <number id="speed-wy" type="slider" arg="-speed-wy %"
70 _label="WY rotation speed"
71 _low-label="-4.0" _high-label="4.0"
72 low="-4.0" high="4.0" default="1.3"/>
74 <number id="speed-wz" type="slider" arg="-speed-wz %"
75 _label="WZ rotation speed"
76 _low-label="-4.0" _high-label="4.0"
77 low="-4.0" high="4.0" default="1.5"/>
81 <number id="speed-xy" type="slider" arg="-speed-xy %"
82 _label="XY rotation speed"
83 _low-label="-4.0" _high-label="4.0"
84 low="-4.0" high="4.0" default="1.7"/>
86 <number id="speed-xz" type="slider" arg="-speed-xz %"
87 _label="XZ rotation speed"
88 _low-label="-4.0" _high-label="4.0"
89 low="-4.0" high="4.0" default="1.9"/>
91 <number id="speed-yz" type="slider" arg="-speed-yz %"
92 _label="YZ rotation speed"
93 _low-label="-4.0" _high-label="4.0"
94 low="-4.0" high="4.0" default="2.1"/>
98 <number id="walk-direction" type="slider" arg="-walk-direction %"
99 _label="Walking direction"
100 _low-label="-180.0" _high-label="180.0"
101 low="-180.0" high="180.0" default="7.0"/>
103 <number id="walk-speed" type="slider" arg="-walk-speed %"
104 _label="Walking speed"
105 _low-label="1.0" _high-label="100.0"
106 low="1.0" high="100.0" default="20.0"/>
108 <number id="delay" type="slider" arg="-delay %"
109 _label="Frame rate" _low-label="Low" _high-label="High"
110 low="0" high="100000" default="10000"
113 <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
117 <xscreensaver-updater />
120 A Klein bottle is the 4D analog of a moebius strip.
122 You can walk on the surface of the bottle or rotate it in 4D or walk
123 on it while it rotates in 4D. Inspired by Thomas Banchoff's book
124 "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher
125 Dimensions", Scientific American Library, 1990.
127 https://en.wikipedia.org/wiki/Klein_bottle
129 Written by Carsten Steger; 2008.