071 · 画像
disc-ring
点と円で階調を描く
ハーフトーンは丸の面積で明暗を出す。ここは面積ではなく形で出す。1マスの値が 0〜1 のあいだに収まったら、空白・小点・輪郭の輪・塗りつぶした盤、4つのうち1つを置く。
明るさの場は1枚の式で作る。方向 dir へ射影した縞、中心からの距離で揺れるリング、対角の縞、この3つの波を足して 0〜1 に正規化したもの。読み込みごとに seed・向き・周波数を乱数で振るので、毎回違う場が流れる。
値 v を4段に丸める。v < 0.22 は描かない、v < 0.5 は小さな点、v < 0.78 は輪郭だけの輪、それ以上は塗りつぶした盤。輪と盤のあいだに段差を挟むと、塊と縁取りがはっきり立つ。
backing は 128、cell = 8、格子は 16×16。丸は arc ではなく、半径3のピクセルマスクを事前計算して fillRect(..., 1, 1) で並べる。曲線のアンチエイリアスを切って backing 上でジャギーを残し、CSS の最近傍拡大でドットがそのまま大きく見えるようにする。