Barnsley's Tree

This picture comes from two moves, applied to a point over and over.1 First, move the point one unit toward the vertical axis, so a point on the right moves left by 1 and a point on the left moves right by 1. Second, multiply by c=0.6+1.1ic = 0.6 + 1.1i, which turns the point about 61 degrees around zero and stretches its distance from zero by about 1.25.

In the demo, the dotted line is the first move and the arc is the second.

Follow one starting point

Pick a pixel to start there. Each jump moves the point one unit toward the vertical axis, then multiplies it by c = (0.6, 1.1).

JumpPoint
0(0.9, 0.6)

As long as a point stays on one side, the two moves add up to one spiral: each jump turns and stretches around a fixed center at about (0.71,−0.80)(0.71, -0.80) on the right, or (−0.71,0.80)(-0.71, 0.80) on the left.2 Each time a point crosses the axis, it switches to the other spiral, and that switch is what divides the picture into scrolls.

The colors count jumps until the point first leaves a circle of radius 2. This page opens with that radius because MathWorld's picture uses it.1 But a point outside that circle can come back in, so the count tells you when a point first crossed the circle, not where it ended up. The next demo lets you make the circle bigger.

Move the finish line

Same rule, same c. Only the circle changes.

Past a radius of about 5, a point that leaves can never return, because the stretch beats the one-unit move.3 With that circle the scrolls are gone, which means all those colored pixels belonged to one solid shape of points that never leave. The scrolls showed how points wander around inside it.

Change cc to see other shapes. At c=1+ic = 1 + i the stretch is about 1.41, large enough that most points leave for good, and the picture splits into two curled shapes.

Further exploring

Sources and notes

  1. Barnsley's Tree.
  2. Calculation. On the right the rule is z→c(z−1)z \to c(z - 1), which leaves z=c/(c−1)z = c/(c-1) fixed.
  3. Calculation. A jump gives ∣z′∣≥∣c∣(∣z∣−1)|z'| \ge |c|(|z| - 1), which exceeds ∣z∣|z| once ∣z∣>∣c∣/(∣c∣−1)≈4.95|z| > |c|/(|c| - 1) \approx 4.95.