Hilbert’s Curve
Prev: Error-Correcting Codes
Next: Floating-Point
Sections
16-1A Recursive Algorithm for Generating the Hilbert Curve16-2Coordinates from Distance along the Hilbert Curve16-3Distance from Coordinates on the Hilbert Curve16-4Incrementing the Coordinates on the Hilbert Curve16-5Non-Recursive Generating Algorithms16-6Other Space-Filling Curves16-7Applications
Problems
-
A simple way to cover an grid in a way that does not make too many big jumps, and hits every point once and only once, is to have a -bit variable that is incremented at each step, and form from the first and every other bit of , and from the second and every other bit of . This is equivalent to computing the perfect outer unshuffle of , and then letting and be the left and right halves of the result. Investigate this curve’s locality property by sketching the curve for .
-
A variation of exercise 1 is to first transform into , see page 312, and then let and be formed from every other bit of the result, as in exercise 1. Sketch the curve for . Has this improved the locality property?
-
How would you construct a three-dimensional analog of the curve of exercise 1?