OBSERVATION 033

顔

Kao — Face

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
Likeness
Year
2026
Medium
Equation, run live in the browser
Points
40,000
Cycle
20s per turn
Fingerprint
sha256 8ddf0d64…58aa

Most of the time what is here is a cloud with no shape.

Three times in twenty seconds the clearing sharpens. During it, the points move
from where the cloud is toward where the face is.

When they arrive, it is the face of a cat. A round head, two pointed ears, two eyes,
a small nose, one mouth, three whiskers on each side.

When the clearing falls, they scatter again. The three are three different expressions.
The clearing and the expression run on different periods, so the same face never comes twice.

Not one point is added and not one is taken away. What increases is only the relation between them.

The eyes and the mouth break up earlier than the outline.
On the way out, the expression stops being readable first, and the face comes apart a little later.
On the way in it is the other way round: the outline forms, and the expression enters after it.

Reduce the points and at six hundred and twenty-five the outline stays as a dotted line.
At forty nothing can be identified. At one, only the path of that point is left.

This is the shape of reading a face.

The same thing happens on this side. When you read anxiety or delight in someone's face,
what you are reading is how points are arranged. Change the arrangement and the reading changes.
Scatter the arrangement and what you were reading is nowhere to be found.

That anxiety and that delight were not lies. While the relation was clear, they were there.

Read and verify the equation
(i, t,
        b = i < 18000, ey = i < 26000, mu = i < 31600, wh = i < 37000, er = i < 39000,
        E1 = sin(t * .25), E2 = sin(t * .5 + 1.7), bl = max(0, sin(t * .75 + .4)) ** 16,
        eo = (.72 + .28 * E2) * (1 - bl), mc = 11 * E1 + 5 * E2, ea = .1 * E1, wq = 8 * E2,
        mq = 21 * max(0, sin(t * .5 + 2.4)) ** 3, br = 1 + .022 * sin(t * .5),
        cl = (.5 + .5 * cos(t * .75 + .8)) ** 1.3, cg = i > 17999 && mu ? cl * cl : cl,
        u = i * .618034 % 1, g = i * 2.39996, v = i * .754878 % 1, nn = i * .324717 % 1,
        w = sqrt((i - 18000) % 4000 / 3999), s = w * cos(g), h = w * sin(g), k = i < 22000 ? -1 : 1,
        A = i / 18000 * TAU - PI, q = (i - 26000) % 2800 / 2799 * 2 - 1,
        R = 62 * max(0, 1 - abs(A + 2.42 + ea) / .4) + 62 * max(0, 1 - abs(A + .72 - ea) / .4),
        j = (i - 31600) / 900 | 0, p = (i - 31600) % 900 / 899, d = (i - 37000) % 1000 / 999,
        c = i < 38000 ? -2.42 - ea : -.72 + ea, cr = 176 * max(0, v) ** .9,
        ct = nn * TAU + t * .25 + 1.4 * sin(v * 6 + t * .5), gx = cr * cos(ct), gy = cr * sin(ct) * .92,
        X = b ? (132 + R) * br * cos(A) : ey ? k * 55 + 19 * s : mu ? 31 * q
          : wh ? (j < 3 ? -1 : 1) * (66 + 46 * p) : er ? (142 + 38 * d) * cos(c)
          : 7 * sqrt((i - 39000) / 999) * cos(g),
        Y = b ? (117 + R) * br * sin(A)
          : ey ? 15 + eo * 19 * h + (1 - eo) * (3 * h - 12 * (1 - s * s))
          : mu ? 56 + (mc + (i < 28800 ? 0 : mq)) * (1 - q * q)
          : wh ? 26 + j % 3 * 18 + p * (j % 3 - 1) * 10 + p * wq
          : er ? (127 + 38 * d) * sin(c) : 39 + 7 * sqrt((i - 39000) / 999) * sin(g),
        Dx = 200 + 9 * sin(t * .25 + 1.1), Dy = 196 + 7 * cos(t * .25 + 3.4) + 3 * sin(t * .75 + 1.1)
       ) => [Dx + gx + cg * (X - gx), Dy + gy + cg * (Y - gy)]

Fingerprint of this equation

sha256:8ddf0d64783ca2f340a7e6bee2ccfdd59700e5e0b4a98448b2b4486ca2d758aa

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 →