1 <?xml version="1.0" encoding="ISO-8859-1"?>
3 <screensaver name="hypercube" _label="HyperCube">
9 <number id="delay" type="slider" arg="-delay %"
10 _label="Frame rate" _low-label="Low" _high-label="High"
11 low="0" high="100000" default="10000"
14 <number id="xw" type="slider" arg="-xw %"
15 _label="XW rotation" _low-label="Slow" _high-label="Fast"
16 low="0" high="20" default="0"/>
17 <number id="xy" type="slider" arg="-xy %"
18 _label="XY rotation" _low-label="Slow" _high-label="Fast"
19 low="0" high="20" default="3"/>
20 <number id="xz" type="slider" arg="-xz %"
21 _label="XZ rotation" _low-label="Slow" _high-label="Fast"
22 low="0" high="20" default="5"/>
25 <number id="z" type="slider" arg="-observer-z %"
26 _label="Zoom" _low-label="Near" _high-label="Far"
27 low="1.125" high="10.0" default="3.0"/>
29 <number id="yw" type="slider" arg="-yw %"
30 _label="YW rotation" _low-label="Slow" _high-label="Fast"
31 low="0" high="20" default="10"/>
32 <number id="yz" type="slider" arg="-yz %"
33 _label="YZ rotation" _low-label="Slow" _high-label="Fast"
34 low="0" high="20" default="0"/>
35 <number id="zw" type="slider" arg="-zw %"
36 _label="ZW rotation" _low-label="Slow" _high-label="Fast"
37 low="0" high="20" default="0"/>
41 <!-- #### -color0 [magenta] -->
42 <!-- #### -color1 [yellow] -->
43 <!-- #### -color2 [#FF9300] -->
44 <!-- #### -color3 [#FF0093] -->
45 <!-- #### -color4 [green] -->
46 <!-- #### -color5 [#8080FF] -->
47 <!-- #### -color6 [#00D0FF] -->
48 <!-- #### -color7 [#00FFD0] -->
50 <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
53 This displays 2D projections of the sequence of 3D objects which are
54 the projections of the 4D analog to the cube: as a square is composed
55 of four lines, each touching two others; and a cube is composed of
56 six squares, each touching four others; a hypercube is composed of
57 eight cubes, each touching six others. To make it easier to
58 visualize the rotation, it uses a different color for the edges of
59 each face. Don't think about it too long, or your brain will melt.
61 See also "polytopes" for a more general version of this using OpenGL.
63 http://en.wikipedia.org/wiki/Hypercube
64 http://en.wikipedia.org/wiki/Regular_polytope
66 Written by Joe Keane, Fritz Mueller, and Jamie Zawinski; 1992.