観測 025

魚

Uo — Fish

式で遊ぶ

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

章
海
制作
2026
媒体
数式・ブラウザで実行
点
40,000
周期
5秒でひと巡り
指紋
sha256 ab3a5a60…12ba

体より、尾のほうが大きい。

尾は六十四本の羽枝でできています。膜はありません。

羽枝は一点から開いていません。
巻いていく一本の軸に沿って、左右交互に生えています。
だから先へ行くほど、隣との間が広がります。

長いものと短いものが、束になって並んでいます。
束を作っているのは二つの波です。
速さがわずかに違うので、重なったところだけ長くなります。
束は止まっていません。ゆっくり先のほうへ移っていきます。

尾は体に遅れて振れます。
遠くへ行くほど余計に巻きます。
振り終わったあとも、まだ巻いています。

式を読む・確かめる
(i, t,
        b = i < 10000, k = i - 10000,
        j = k % 64, m = k / 64 | 0,
        u = (m % 117) / 116, e2 = ((m / 117 | 0) % 4) / 3 * 2 - 1,
        e = j % 2 ? 1 : -1, o = (j / 2 | 0) / 31,
        p = i / 10000,
        c = (i * .754878 % 1) * PI,
        yb = 200 + 24 * sin(p * 3.2 - t * 2) * (.14 + .86 * p * p),
        Wb = 31 * sin(PI * p ** .62) ** .74,
        ry = 200 + 24 * sin(3.2 - t * 2),
        h = .56 * sin(3.2 - t * 2 - 1.15),
        T = h + 1.62 * o ** 1.35,
        R = 138 * o ** .92,
        Sx = 206 + R * cos(T), Sy = ry + R * sin(T),
        q = sin(o * 46 - t * 2) * sin(o * 53 + t),
        n2 = .38 + .62 * q,
        Lb = 92 * sin(PI * o ** .68) ** .55 * n2,
        A = T + e * 1.5708 * (.78 - .30 * o) + e * .62 * u ** 1.25 + .30 * (1 - o) * sin(u * 3 - t * 2),
        rb = Lb * u ** .88,
        W = 3.8 * (1 - u) ** .5 * e2 * abs(e2),
        Q = b
        ? [30 + 166 * p + 4 * sin(c), yb + Wb * cos(c) * (.60 + .40 * sin(p * 6 - t * 2))]
        : [Sx + rb * cos(A) - W * sin(A), Sy + rb * sin(A) + W * cos(A)],
        Dx = 200 + 46 * sin(t + 5.1) + 22 * sin(t * 2 + 2.7),
        Dy = 200 + 50 * cos(t + 1.9) + 16 * sin(t * 3 + 5.1)
       ) => [Dx + (Q[0] - 200) * .68, Dy + (Q[1] - 200) * .68]

この式の指紋

sha256:ab3a5a60e772537c75fd0838d234cf806b1f0d48f398c4b529ebe7f733d612ba

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

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

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

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