Spinning Drum Mode
z = 5 · besselJ(1, 1.403r) · cos(θ − t) +(r < 5 ? 0 : 0/0)
Open in the app The dials and keys named below are the app's.
What it draws
A circular drum of radius 5, its skin vibrating in one of its natural patterns. The height is 5 · J₁(1.403 · r) · cos(θ − t), where J₁ is the Bessel function of order one, r the distance from the centre and θ the angle round it.
The radial factor sets the rings. J₁ is zero at 0, at 3.832 and at 7.016, and 1.403 ≈ 7.016/5 puts that last zero on the rim, so the edge stays still. The zero at 3.832 lands at r ≈ 2.73: a still circle inside the drum. Between them the skin rises to 2.91 near r ≈ 1.31 and dips to −1.73 near r ≈ 3.80.
The last term, (r < 5 ? 0 : 0/0), adds nothing inside the rim and is not a number outside it, so the sheet ends at the frame.
Why it turns
The angular factor cos(θ − t) gives the drum a hump on one side and a hollow on the other, split by a still diameter. Because θ − t grows with the clock, that whole pattern turns about the centre. It goes round once every 2π ≈ 6.28 seconds at Speed 1.
The identity cos(θ − t) = cos θ · cos t + sin θ · sin t says what is happening. A drum has two such modes with the same pitch, one with its still diameter along the y axis and one along the x axis. Played together a quarter period apart, their sum is a pattern that travels round the drum instead of rocking in place. The still circle and the rim never move; the still diameter sweeps.
Try
- Replace cos(θ − t) with cos(θ) · cos(t): one mode alone, its halves rocking against each other across a still line along the y axis.
- Write cos(θ + t) instead: the same pattern turning the other way.
- Change 1.403 to 0.766, which puts the first zero of J₁ on the rim: the simplest lopsided mode, with no still circle inside and its peak at r ≈ 2.40.
- Top: the still circle at r ≈ 2.73 keeps the ground's colour while the dividing line turns through it.