1 <?xml version="1.0" encoding="ISO-8859-1"?>
3 <screensaver name="projectiveplane" _label="ProjectivePlane" gl="yes">
8 <select id="view-mode">
9 <option id="walk" _label="Random motion"/>
10 <option id="walk" _label="Walk" arg-set="-view-mode walk"/>
11 <option id="turn" _label="Turn" arg-set="-view-mode turn"/>
12 <option id="walk-turn" _label="Walk and turn" arg-set="-view-mode walk-turn"/>
15 <boolean id="orientation-marks" _label="Show orientation marks"
16 arg-set="-orientation-marks"/>
20 <select id="display-mode">
21 <option id="random" _label="Random surface"/>
22 <option id="wire" _label="Wireframe mesh" arg-set="-mode wireframe"/>
23 <option id="surface" _label="Solid surface" arg-set="-mode surface"/>
24 <option id="transparent" _label="Transparent surface" arg-set="-mode transparent"/>
27 <select id="appearance">
28 <option id="random" _label="Random pattern"/>
29 <option id="solid" _label="Solid object" arg-set="-appearance solid"/>
30 <option id="bands" _label="Distance bands" arg-set="-appearance distance-bands"/>
31 <option id="bands" _label="Direction bands" arg-set="-appearance direction-bands"/>
35 <option id="random" _label="Random coloration"/>
36 <option id="twosided" _label="Two-sided" arg-set="-colors two-sided"/>
37 <option id="rainbow" _label="Distance colors" arg-set="-colors distance"/>
38 <option id="rainbow" _label="Direction colors" arg-set="-colors direction"/>
39 <option id="depth" _label="4d depth colors" arg-set="-colors depth"/>
42 <select id="projection3d">
43 <option id="random" _label="Random 3D"/>
44 <option id="perspective-3d" _label="Perspective 3D" arg-set="-projection-3d perspective"/>
45 <option id="orthographic-3d" _label="Orthographic 3D" arg-set="-projection-3d orthographic"/>
48 <select id="projection4d">
49 <option id="random" _label="Random 4D"/>
50 <option id="perspective-4d" _label="Perspective 4D" arg-set="-projection-4d perspective"/>
51 <option id="orthographic-4d" _label="Orthographic 4D" arg-set="-projection-4d orthographic"/>
57 <number id="speed-wx" type="slider" arg="-speed-wx %"
58 _label="WX rotation speed"
59 _low-label="-4.0" _high-label="4.0"
60 low="-4.0" high="4.0" default="1.1"/>
62 <number id="speed-wy" type="slider" arg="-speed-wy %"
63 _label="WY rotation speed"
64 _low-label="-4.0" _high-label="4.0"
65 low="-4.0" high="4.0" default="1.3"/>
67 <number id="speed-wz" type="slider" arg="-speed-wz %"
68 _label="WZ rotation speed"
69 _low-label="-4.0" _high-label="4.0"
70 low="-4.0" high="4.0" default="1.5"/>
74 <number id="speed-xy" type="slider" arg="-speed-xy %"
75 _label="XY rotation speed"
76 _low-label="-4.0" _high-label="4.0"
77 low="-4.0" high="4.0" default="1.7"/>
79 <number id="speed-xz" type="slider" arg="-speed-xz %"
80 _label="XZ rotation speed"
81 _low-label="-4.0" _high-label="4.0"
82 low="-4.0" high="4.0" default="1.9"/>
84 <number id="speed-yz" type="slider" arg="-speed-yz %"
85 _label="YZ rotation speed"
86 _low-label="-4.0" _high-label="4.0"
87 low="-4.0" high="4.0" default="2.1"/>
91 <number id="walk-direction" type="slider" arg="-walk-direction %"
92 _label="Walking direction"
93 _low-label="-180.0" _high-label="180.0"
94 low="-180.0" high="180.0" default="7.0"/>
96 <number id="walk-speed" type="slider" arg="-walk-speed %"
97 _label="Walking speed"
98 _low-label="1.0" _high-label="100.0"
99 low="1.0" high="100.0" default="20.0"/>
101 <number id="delay" type="slider" arg="-delay %"
102 _label="Frame rate" _low-label="Low" _high-label="High"
103 low="0" high="100000" default="10000"
106 <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
110 <xscreensaver-updater />
113 This animates a 4D embedding of the real projective plane.
115 You can walk on the surface of the real projective plane or rotate it
116 in 4D or walk on it while it rotates in 4D. Inspired by Thomas
117 Banchoff's book "Beyond the Third Dimension: Geometry, Computer
118 Graphics, and Higher Dimensions", Scientific American Library, 1990.
120 http://en.wikipedia.org/wiki/Real_projective_plane
121 http://en.wikipedia.org/wiki/Roman_surface
122 http://en.wikipedia.org/wiki/Cross_cap
123 http://en.wikipedia.org/wiki/Moebius_strip
124 http://mathworld.wolfram.com/RealProjectivePlane.html
125 http://mathworld.wolfram.com/RomanSurface.html
126 http://mathworld.wolfram.com/Cross-Cap.html
127 http://mathworld.wolfram.com/MoebiusStrip.html
129 Written by Carsten Steger; 2014.