From http://www.jwz.org/xscreensaver/xscreensaver-5.24.tar.gz
[xscreensaver] / hacks / config / hilbert.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2
3 <screensaver name="hilbert" _label="Hilbert" gl="yes">
4
5   <command arg="-root"/>
6
7   <hgroup>
8    <vgroup>
9
10     <hgroup>
11      <select id="twodee">
12       <option id="random"  _label="2D or 3D"/>
13       <option id="2D"      _label="2D"               arg-set="-mode 2d"/>
14       <option id="3D"      _label="3D"               arg-set="-mode 3d"/>
15      </select>
16
17      <select id="closed">
18       <option id="random"  _label="Open or closed paths"/>
19       <option id="closed"  _label="Closed"           arg-set="-ends closed"/>
20       <option id="open"    _label="Open"             arg-set="-ends open"/>
21      </select>
22     </hgroup>
23
24     <hgroup>
25      <vgroup>
26       <number id="delay" type="slider" arg="-delay %"
27               _label="Frame rate" _low-label="Slow" _high-label="Fast"
28               low="0" high="100000" default="30000"
29               convert="invert"/>
30
31       <number id="speed" type="slider" arg="-speed %"
32               _label="Speed" _low-label="Slow" _high-label="Fast"
33               low="0.02" high="10.0" default="1.0"/>
34      </vgroup>
35
36      <vgroup>
37       <number id="depth" type="slider" arg="-max-depth %"
38               _label="Recursion levels" _low-label="2" _high-label="10"
39               low="2" high="10" default="5"/>
40
41       <number id="thickness" type="slider" arg="-thickness %"
42               _label="Line thickness" _low-label="Thin" _high-label="Thick"
43               low="0.01" high="1.0" default="0.25"/>
44      </vgroup>
45     </hgroup>
46
47     <hgroup>
48      <boolean id="wander"  _label="Wander"          arg-set="-wander"/>
49      <boolean id="spin"    _label="Spin"            arg-unset="-no-spin"/>
50      <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
51      <boolean id="wire"    _label="Wireframe"       arg-set="-wireframe"/>
52     </hgroup>
53
54    </vgroup>
55   </hgroup>
56
57   <xscreensaver-updater />
58
59   <_description>
60 This draws the recursive Hilbert space-filling curve, in both 2D and
61 3D variants.  It incrementally animates the growth and recursion to
62 the maximum depth, then unwinds it back.
63
64 The Hilbert path is a single contiguous line that can fill a volume
65 without crossing itself.  As a data structure, Hilbert paths are
66 useful because ordering along the curve preserves locality: points
67 that are close together along the curve are also close together in space.
68 The converse is often, but not always, true.  The coloration
69 reflects this.
70
71 http://en.wikipedia.org/wiki/Hilbert_curve
72
73 Written by Jamie Zawinski; 2011.
74   </_description>
75 </screensaver>