1 <?xml version="1.0" encoding="ISO-8859-1"?>
3 <screensaver name="hilbert" _label="Hilbert" gl="yes">
5 <command arg="--root"/>
7 <video href="https://www.youtube.com/watch?v=NhKmipo_Ek4"/>
14 <option id="random" _label="2D or 3D"/>
15 <option id="2D" _label="2D" arg-set="--mode 2d"/>
16 <option id="3D" _label="3D" arg-set="--mode 3d"/>
20 <option id="random" _label="Open or closed paths"/>
21 <option id="closed" _label="Closed" arg-set="--ends closed"/>
22 <option id="open" _label="Open" arg-set="--ends open"/>
28 <number id="delay" type="slider" arg="--delay %"
29 _label="Frame rate" _low-label="Slow" _high-label="Fast"
30 low="0" high="100000" default="30000"
33 <number id="speed" type="slider" arg="--speed %"
34 _label="Speed" _low-label="Slow" _high-label="Fast"
35 low="0.02" high="10.0" default="1.0"
40 <number id="depth" type="slider" arg="--max-depth %"
41 _label="Recursion levels" _low-label="2" _high-label="10"
42 low="2" high="10" default="5"/>
44 <number id="thickness" type="slider" arg="--thickness %"
45 _label="Line thickness" _low-label="Thin" _high-label="Thick"
46 low="0.01" high="1.0" default="0.25"/>
51 <boolean id="wander" _label="Wander" arg-set="--wander"/>
52 <boolean id="spin" _label="Spin" arg-unset="--no-spin"/>
53 <boolean id="showfps" _label="Show frame rate" arg-set="--fps"/>
54 <boolean id="wire" _label="Wireframe" arg-set="--wireframe"/>
60 <xscreensaver-updater />
63 The recursive Hilbert space-filling curve, both 2D and 3D variants.
65 The Hilbert path is a single contiguous line that can fill a volume
66 without crossing itself. As a data structure, Hilbert paths are
67 useful because ordering along the curve preserves locality: points
68 that are close together along the curve are also close together in space.
69 The converse is often, but not always, true. The coloration
72 https://en.wikipedia.org/wiki/Hilbert_curve
74 Written by Jamie Zawinski; 2011.