VSFCF - CVM 1.1

# Other Approaches: Area, Three-Dimensional Visualization

We can get very similar animations by considering area instead of dimension. For example, we can also produce a "fat" Cantor set of any measure strictly less than one by varying the proportion removed at each step. One way to end up with a Cantor set of measure 1-a is at the kth step just remove middle intervals of length a/3k (see [Ro, p. 63]). By taking the Cartesian product of two of these we can get a Cantor set with positive area, (1-a)2. Then we can add connecting segments (without changing the area) to get curves very much like the Hilbert curve approximants in Figure 6 except they all have (Hausdorff) dimension two but with area varying from zero to two. The results can be viewed in Figure 12. Similar methods can be used for other space-filling curves, but the lack of self similarity is a drawback, making it harder both to describe the curves analytically and to draw them efficiently. The lower dimensional version of a movie for fat Cantor sets in the line (like Figure 7) can be found in [Ma2, p. 81].

Figure 12. Curves of dimension two increasing in area from zero to two as they converge to the Hilbert curve. Also available are an animation (121kb) and a speed controlled version. Use the browser back button to return. Source code is available.

One goal of this document is to try to better visualize space-filling curves by "spreading out" the curve using approximations. Another approach is to spread them out using a third dimension to actually draw the graph. Since a space-filling curve maps a subset of R1 to a subset of R2 we can naturally view the graph as a subset of R3.

In Figure 13 we look at such a graph from several vantage points. The usual x-axis is taken to be the independent axis, while the yz-plane represents the dependent coordinates. To get a better view of the curve it is stretched by a factor of four in the x direction. So we have x values from 0 to 4 while the y and z values go from 0 to 1. Consider then this graph lying at the center of the earth (all angle measurements will be in degrees) with the positive x-axis piercing the surface at latitude 0 longitude 0, the positive y-axis piercing at latitude 0 longitude 90, and the positive z-axis piercing at the north pole. We then take a long walk looking at the fixed curve from different perspectives. (Alternately, one could consider this as rotating the curve.) Our walk has four parts:

1. We go from latitude 0 longitude 0 directly to the north pole in steps of 15 keeping our heading (the "up" direction in our projection) due north (000).
2. At the north pole, since all directions are south, we consider "heading" to be the longitude line that we view as up. So we start with a heading of 180 and turn to 300 in steps of 15.
3. Then we back down the 120 longitude line from latitude of 90 to the equator at latitude of 0 keeping our heading due north.
4. Finally, we sidestep along the equator with latitude 0 and longitude decreasing from 120 to 0, always heading north, with steps of size 15.

Figure 13. Walking around the 3-d graph of the classical Hilbert curve. First is a north pole view, and second is a view from latitude 30 longitude 120. Several other viewing options are available: an animated version, a speed controlled version, a low resolution VRML version (600kb), and a high resolution VRML version (2500kb). Use the browser back button to return. Not all browsers will support VRML. Source code is available.

Note that we have a simple curve in R3 that projects to a space filling curve (in particular, the image contains a disk) in one direction. In fact, there are simple curves in R3 whose projections contain disks in all directions (see [Me, Corollary 4]).

Communications in Visual Mathematics, vol 1, no 1, August 1998.