A library for drawing space-filling curves like the Hilbert Curve.
Latest commit a59e833 Mar 3, 2015 @cortesi Note binvis


A collection of algorithms and visualisation tools related to space-filling curves.

See binvis.io for my more recent interactive binary visualisation tool

The Curves

The following traversals of all points in a space are supported (some are true space-filling curves, some are not):

  • hilbert: Hilbert curve
  • natural: A natural-order traversal of all points, where each co-ordinate is simply treated as a digit.
  • zigzag: A traversal of all points that zig-zags to ensure that each point differs from the previous point by a unit-offset in only one dimension.
  • zorder: Z-order curve

The Tools

  • binvis: Visualize binaries using space-filling curves.
  • colorswatch: Creates a swatch with a visual breakdown of the colours contained in a specified image.
  • cube: Outputs a POV-Ray definition file for drawing 3-dimensional curves.
  • drawcurve: Generates two dimensional lines-and-vertexes drawings of space-filling curves.
  • gray: Prints a bit representation of the Gray codes of a specified bit width.
  • testpattern: Projects a 3-dimensional traversal of the RGB colour cube onto a specified two-dimensional curve.

More info

Development on Scurve is usually spurred along by posts on my blog. Some of scurve's features are documented and illustrated in the following posts: