観測 038

猫

Neko — Cat

式で遊ぶ

画かボタンを押すと、点が減ります。40,000 → 625 → 40 → 1 の次は、40,000に戻ります。
少数点では、点を大きくし、残像を長くして通り道を見やすくしています。
「聴く」は、表示中の点の配置を音へ写します。点数を変えると音を作り直します。

章
空
制作
2026
媒体
数式・ブラウザで実行
点
40,000
周期
20秒でひと巡り
指紋
sha256 553393db…74e1

伸びをしています。

足の裏は、床から離れません。
動いているのは、背骨を通っていく波です。

波が届くと、胸が沈み、腰が上がります。
波が過ぎると、背中がまるく盛り上がって、戻ります。
頭は最後まで、ほとんど同じ高さのままです。

波は頭の側から尾へ、遅れて届きます。
だから体のどこにも、固い形がありません。
前が済んだ頃に後ろが始まり、尾はいちばん遅れて、巻き直します。

毛は断面の外に短く生えていて、輪郭だけを毛羽立たせます。

点を減らすと、毛が先に消えます。
六百二十五点では、波の通る点線の背骨と、四本の足が残ります。
四十点では、波の律動だけになります。
一点は、背中の毛だった点が、波に持ち上げられて降りる通り道です。

猫が液体だと言われるのは、器に合わせて形を変えるからではありません。
形が、いつも通り過ぎていく途中だからです。

式を読む・確かめる
(i, t,
        bd = i < 22000, hd = i < 27000, er = i < 30000, ey = i < 31500, lg = i < 36000,
        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,
        sg = sin(t * .25 - .9 * (1 - S)), sp2 = max(0, sg), sm = max(0, 0 - sg),
        G = exp(0 - ((S - .8) / .3) ** 2),
        Ys = 42 - 27 * sp2 * G + 11 * sp2 * (1 - S) ** 1.5 + 15 * sm * sin(PI * S) - 3 * sm,
        Xs = 150 * S - 72 + 16 * sp2 * max(0, S - .55),
        R = (13 + 4.5 * sin(PI * S)) * (1 - .25 * sp2 * G),
        e = ((i - 22000) % 5000) / 4999 * 2 - 1, rr = sqrt(max(0, 1 - e * e)),
        sd = i < 28500 ? -1 : 1, pe = (i - 27000) % 1500 / 1499,
        tw = sd < 0 ? .14 * sin(t * .75) : .14 * sin(t * 1.25 + 2),
        Hx = 82 + 6 * sin(t * .25 - .18), Hy = 58 + 3 * sin(t * .5) - 12 * max(0, sin(t * .25 - .18)),
        m = (i - 31500) / 1125 | 0, p = (i - 31500) % 1125 / 1124,
        fx = [-58, -42, 46, 60][m], hs = m < 2 ? .12 : .8,
        u = (i - 36000) / 3999, th = u * (1.7 + .8 * sin(t * .25 - 1.6)),
        X = bd ? Xs - q * 3.4 : hd ? Hx + (18 - 5 * max(0, e)) * rr * cos(gg) + 5 * max(0, e)
          : er ? Hx + 1 + sd * (6 + 3 * pe) * (1 - .55 * pe) - tw * 22 * pe + 3.5 * (w2 - .5) * (1 - pe)
          : ey ? Hx + 9 + 4 * sqrt(v) * cos(gg)
          : lg ? fx + (Xs - (150 * hs - 72)) * (1 - p) * .3 + 2 * sin(PI * p) + 2.6 * (w2 - .5)
          : -72 + 16 * sp2 * .45 - 46 * sin(th) * (1 - .2 * u),
        Y = bd ? Ys + (R + q * 4.5) * cos(ar) * .94
          : hd ? Hy + (15 - 4 * max(0, e)) * rr * cos(gg) + 5 * e
          : er ? Hy + 13 + 19 * pe : ey ? Hy + 3 + 4 * sqrt(v) * sin(gg)
          : lg ? (42 - 27 * max(0, sin(t * .25 - .9 * (1 - hs))) * exp(0 - ((hs - .8) / .3) ** 2)) * (1 - p)
          : Ys + 8 + 44 * (1 - cos(th)) * (1 - .2 * u),
        Z = bd ? (R + q * 4.5) * sin(ar) * .8 : hd ? 12 * rr * sin(gg)
          : er ? sd * (7 + 5 * pe) : ey ? 10 + 2 * (w2 - .5)
          : lg ? (m % 2 ? 9 : -9) + 2 * (w2 - .5) : 4 * sin(u * 7 + t * .25) + 2 * (v - .5),
        Dx = 200 + 9 * sin(t * .25 + 2.6), Dy = 252 + 6 * cos(t * .25 + 5.2) + 3 * sin(t * .75 + 2.6),
        Xr = X * .97 + Z * .24, Zr = Z * .97 - X * .24
       ) => [Dx + (Xr + .2 * Zr) * 1.3, Dy + (.16 * Zr - Y) * 1.3]

この式の指紋

sha256:553393dbf1ba7a0ca513e29b78d411cbbb1b68391250280dd715407ab80874e1

同じ点番号と時刻を渡すと、同じ座標が得られます。
残像や点の見え方は、描画設定と端末によって変わります。

上のボタンで式をそのまま持ち出せます。手元で数え直すなら:

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

持ち帰って走らせてください。式を変えると、どんな姿になるでしょう。 この式を、その場で走らせて書き換える →