観測 020
雷
Ikazuchi — Lightning
画かボタンを押すと、点が減ります。40,000 → 625 → 40 → 1 の次は、40,000に戻ります。
少数点では、点を大きくし、残像を長くして通り道を見やすくしています。
「聴く」は、表示中の点の配置を音へ写します。点数を変えると音を作り直します。
上から下へ、一度に渡ります。
初めの二代はほとんど曲がりません。
下の二代で大きく割れます。
大きく曲がった道ほど、短く終わります。
まっすぐ行くものだけが、遠くまで届きます。
いちばん明るいのは根もとです。
そこが太いからではありません。
八十一本の道が、すべてそこを通るからです。
育ちきると消えて、また落ちます。
同じ形が二度出るのは、
向こう側に偶然が無いからです。
式を読む・確かめる
(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
持ち帰って走らせてください。式を変えると、どんな姿になるでしょう。 この式を、その場で走らせて書き換える →