Space-filling trees are geometric constructions that are analogous to space-filling curves,[1] but have a branching, tree-like structure and are rooted. A space-filling tree is defined by an incremental process that results in a tree for which every point in the space has a finite-length path that converges to it. In contrast to space-filling curves, individual paths in the tree are short, allowing any part of the space to be quickly reached from the root.[2] [3] The simplest examples of space-filling trees have a regular, self-similar, fractal structure, but can be generalized to non-regular and even randomized/Monte-Carlo variants (see Rapidly exploring random tree). Space-filling trees have interesting parallels in nature, including fluid distribution systems, vascular networks, and fractal plant growth, and many interesting connections to L-systems in computer science.
A space-filling tree is defined by an iterative process whereby a single point in a continuous space is connected via a continuous path to every other point in the space by a path of finite length, and for every point in the space, there is at least one path that converges to it.
The concept of a "space-filling tree" in this sense was described in Chapter 15 of Mandelbrot's influential book The Fractal Geometry of Nature (1982).[4] The concept was made more rigorous and given the name "space-filling tree" in a 2009 tech report [5] that defines "space-filling" and "tree" differently than their traditional definitions in mathematics. As explained in the space-filling curve article, in 1890, Peano found the first space-filling curve, and by Jordan's 1887 definition, which is now standard, a curve is a single function, not a sequence of functions. The curve is "space filling" because it is "a curve whose range contains the entire 2-dimensional unit square" (as explained in the first sentence of space-filling curve).
In contrast, a space-filling tree, as defined in the tech report, is not a single tree. It is only a sequence of trees. The paper says "A space-filling tree is actually defined as an infinite sequence of trees". It defines
Tsquare
Tsquare
The simplest example of a space-filling tree is one that fills a square planar region. The images illustrate the construction for the planar region
[0,1]2\subsetR2
Space-filling trees can also be defined for a variety of other shapes and volumes.Below is the subdivision scheme used to define a space-filling for a triangular region.At each iteration, additional branches are added to the existing trees connecting the center of each triangle to the centers of the four subtriangles.
The first six iterations of the triangle space-filling tree are illustrated below:
Space-filling trees can also be constructed in higher dimensions. The simplest examples are cubes in
R3
Rn
R3