観測 020

雷

Ikazuchi — Lightning

式で遊ぶ

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

章
境
制作
2026
媒体
数式・ブラウザで実行
点
40,000
周期
10秒でひと巡り
指紋
sha256 e37035ee…5667

上から下へ、一度に渡ります。

初めの二代はほとんど曲がりません。
下の二代で大きく割れます。

大きく曲がった道ほど、短く終わります。
まっすぐ行くものだけが、遠くまで届きます。

いちばん明るいのは根もとです。
そこが太いからではありません。
八十一本の道が、すべてそこを通るからです。

育ちきると消えて、また落ちます。
同じ形が二度出るのは、
向こう側に偶然が無いからです。

式を読む・確かめる
(i, t,
        j = i % 81, u = (i / 81 | 0) / 494,
        g = (t / (TAU * 2)) % 1,
        d0 = j % 3 - 1, d1 = (j / 3 | 0) % 3 - 1,
        d2 = (j / 9 | 0) % 3 - 1, d3 = (j / 27 | 0) % 3 - 1,
        a0 = 1.5708 + .07 * d0 + .19 * sin(j * 2.4),
        a1 = a0 + .14 * d1 + .21 * sin(j * 1.7),
        a2 = a1 + .62 * d2 + .23 * sin(j * 3.1),
        a3 = a2 + .92 * d3 + .25 * sin(j * 5.3),
        L0 = 118, L1 = 96,
        L2 = 74 * (1 - .54 * abs(d2)),
        L3 = 58 * (1 - .58 * abs(d3)) * (1 - .34 * abs(d2)),
        s0 = min(1, max(0, u * 4)), s1 = min(1, max(0, u * 4 - 1)),
        s2 = min(1, max(0, u * 4 - 2)), s3 = min(1, max(0, u * 4 - 3)),
        X = 200 + L0 * cos(a0) * s0 + L1 * cos(a1) * s1 + L2 * cos(a2) * s2 + L3 * cos(a3) * s3,
        Y = 24 + L0 * sin(a0) * s0 + L1 * sin(a1) * s1 + L2 * sin(a2) * s2 + L3 * sin(a3) * s3
       ) => u > g ? [-9, -9] : [X, Y]

この式の指紋

sha256:e37035ee865645928ea912be66e04db62c6d1ca45ca42dc759cafd866eb85667

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

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

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

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