hilbert — 3D Hilbert fractal.


hilbert [-display host:display.screen] [-visual visual] [-window] [-root] [-delay number] [-speed ratio] [-depth number] [-spin] [-wander] [-2d] [-3d] [-closed] [-open] [-max-depth number] [-thickness ratio] [-wireframe] [-fps]


This draws the recursive Hilbert space-filling curve, in both 2D and 3D variants. It incrementally animates the growth and recursion to the maximum depth, then unwinds it back.

The Hilbert path is a single contiguous line that can fill a volume without crossing itself. As a data structure, Hilbert paths are useful because ordering along the curve preserves locality: points that close together along the curve are also close together in space. The converse is often, but not always, true. The coloration reflects this.


-visual visual
Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.
Draw on a newly-created window. This is the default.
Draw on the root window.
-delay number
Per-frame delay, in microseconds. Default: 30000 (0.03 seconds.).
-speed number
How fast the animation should run. Less than 1 for slower, greater than 1 for faster.
-max-depth number
Max depth to descend. Default: 5, which peaks at around half a million polygons.
-no-spin Whether to rotate the object. Default: true.
-no-wander Whether to wander the object around on the screen. Default: false;
-3d Whether to draw the 2D or 3D variant. Default: random.
-open Whether to draw the open or closed-path variant. Default: random.
-thickness ratio
How thick the lines should be. Default: 0.25.
Render in wireframe instead of solid.
Display the current frame rate, CPU load, and polygon count.


to get the default host and display number.
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


Jamie Zawinski.