OBSERVATION 039

犬

Inu — Dog

Play with it

Press the picture or the button to reduce the points.40,000 → 625 → 40 → 1, then back to 40,000.
At fewer points, dots grow and trails linger to help you follow their paths.
“Listen” maps the displayed points to sound.Changing the count rebuilds the sound.

Chapter
The Sky
Year
2026
Medium
Equation, run live in the browser
Points
40,000
Cycle
20s per turn
Fingerprint
sha256 90bf74d4…41dc

It is shaking itself.

A wave of twist is born at the head and leaves through the tail.
Each ring of the spine is turned to a different angle.

The fur stands out by centrifugal force only at the instant its speed is greatest.
On rings the wave has already passed, the fur is lying down again.

The hanging ears are swung late, after the head.
The tail is swung last, and widest.

The four legs brace and do not move.
The upper body carries all of it.

Reduce the points and the standing fur goes first.
At six hundred and twenty-five, a spine of rings each turned to its own angle remains.
At forty, only the beat of the shudder.
At one, the path of a point that was a single hair — turned, raised, laid down.

A dog does not think before it shakes off water.
The head begins, and the body is simply caught up in it, in order.

Read and verify the equation
(i, t,
        bd = i < 22000, hd = i < 27000, mz = i < 29500, er = i < 33000, lg = i < 37000,
        sb = i / 5 | 0, q = (i % 5) / 4, S = sb * .618034 % 1, ar = (sb * .754878 % 1) * TAU,
        w2 = i * .324717 % 1, v = i * .754878 % 1, gg = i * 2.39996,
        W = 4 * t - 3.5 * S, A = (.28 + .34 * S) * sin(W), fl = 1 + 1.3 * q * abs(cos(W)),
        Ys = 58 + 5 * S, Xs = 66 - 124 * S,
        R = 10 + 10 * exp(0 - ((S - .15) / .38) ** 2),
        e = ((i - 22000) % 5000) / 4999 * 2 - 1, rr = sqrt(max(0, 1 - e * e)),
        Wh = 4 * t, Ah = .3 * sin(Wh),
        pe = (i - 29500) % 1750 / 1749, sd = i < 31250 ? -1 : 1,
        ew = 1.1 * sin(4 * t - 1.2) * pe,
        m = (i - 33000) / 1000 | 0, p = (i - 33000) % 1000 / 999,
        fx = [50, 36, -40, -54][m],
        u = (i - 37000) / 2999, wg = sin(4 * t - 3.5 - 1.5 * u), tz = (10 + 36 * u) * wg,
        X = bd ? Xs - q * 3 : hd ? 88 + (23 - 6 * max(0, e)) * rr * cos(gg) * (1 - .3 * abs(Ah))
          : mz ? 108 + 22 * pe : er ? 90 + sd * 8 - 6 * pe + 5.5 * (w2 - .5)
          : lg ? fx + 4 * sin(PI * p) * (m < 2 ? 1 : -1) + 4 * (w2 - .5) + 3 * max(0, .3 - p) * 3
          : -56 - (46 - 15 * abs(wg)) * u + 4 * (w2 - .5),
        Y = bd ? Ys + (R + q * 6.5 * fl) * cos(ar + A) * .94
          : hd ? 76 + 17 * rr * cos(gg) + 5 * e
          : mz ? 72 - 5 * pe + 7 * (1 - pe) * (v - .5) * 2
          : er ? 88 - 40 * pe * cos(ew) : lg ? 28 * (1 - p)
          : 60 - 12 * u + 44 * u * u + 3 * (v - .5),
        Z = bd ? (R + q * 6.5 * fl) * sin(ar + A) * .8 : hd ? 15 * rr * sin(gg) + 16 * Ah * rr
          : mz ? 8 * (1 - pe) * sin(gg) + 12 * Ah
          : er ? sd * (13 + 8 * pe) + 30 * pe * sin(ew) + 14 * Ah * pe
          : lg ? (m % 2 ? 10 : -10) + 2 * (v - .5) : tz,
        Dx = 200 + 8 * sin(t * .25 + .6), Dy = 252 + 6 * cos(t * .25 + 3.2) + 3 * sin(t * .75 + .6),
        Xr = X * .97 - Z * .24, Zr = Z * .97 + X * .24
       ) => [Dx + (Xr + .2 * Zr) * 1.22, Dy + (.16 * Zr - Y) * 1.22]

Fingerprint of this equation

sha256:90bf74d425fc79e1bca6c3d1d6499ad53a62baf134489e3382a1590ecf8141dc

The same point number and time give the same coordinates.
Trails and the appearance of points depend on rendering settings and the device.

The button above takes the equation out as it is. To count it again yourself:

pbpaste > f.txt && printf %s "$(cat f.txt)" | shasum -a 256

Take it and run it.What appears when you change the equation? Run and rewrite this equation →