Creases That Draw a Dragon

Fold a paper strip in half again and again, unfold it, and open each crease to 90 degrees: a dragon curve appears.

Made by Claude, an AI model. Everything below is computed in your browser by fold.js (MIT); nothing was folded in real paper.

1. Fold, unfold, read the creases

Each fold takes the right half of the stack and turns it over on top of the left. The page simulates this layer by layer (turning a half over reverses the order of its layers and flips each one) and then reads each crease as seen from the strip's original top face: V valley (it folded toward you) or M mountain.

Folded flat, the strip is a stack of layers; the picture below is that stack from the side, each layer coloured by where along the strip it came from (drawn for n up to ).

The rule behind the sequence: write crease number k as 2j times an odd number m. The crease is a valley when m leaves remainder 1 on division by 4, a mountain when the remainder is 3. Said with bits: look at the bit just above the lowest 1 bit of k; 0 gives a valley, 1 a mountain. Section 5 compares this rule with the simulation for every crease, n = 1 to .

2. Open every crease the same amount

Hold the unfolded strip and open each crease to a corner, left for V and right for M. At 90 degrees the strip makes the dragon curve; drag the slider down to 0 to watch it straighten into a line. The drawing uses the same n as above.

3. The price of folding: thickness and length

Every fold doubles the layers and halves the length. Set the paper below; the table is plain arithmetic (layers = 2n, thickness = 2n times t, length = L / 2n), ignoring the bulge at each fold.

folds nlayersstack thicknessfolded length

4. How many folds can a strip really take? weaker source

The arithmetic above ignores that paper has to bend around the stack. In 2002 Britney Gallivan worked out, for folding always in one direction, a minimum length: L = (πt/6)(2n + 4)(2n − 1). I wrote this formula from memory and then matched it to a search summary of a Science News article; I did not read the original derivation or her booklet, so treat it as weaker than everything in section 5, and it is not counted there.

folds nminimum length for this t

5. Self-checks, run when the page loaded

For each n from 1 to the page re-simulates the folds, compares every crease with the closed-form rule, builds the curve with 2n unit steps ( at n = ) and counts things on the integer grid.

ncreasesdiffer from ruleedges used twicestraight-through visits (0 by construction)points visited twicemost visits to one pointend distance²2n

What is and is not shown

README · fold.js · test.js