This almost works. But when more than two circles overlap, they are too big, creating discontinuities.

The idea here is that we're generating a series of slices directly to be 3-D printed. I haven't written the STL-generating code for it yet. But we start at the bottom of the tree and move on up, branches dividing and smoothly shrinking as we go, as well as wandering around a bit. At some point we need to limit the height to which the tree grows.