← ギャラリーへ

ポアソン・ディスク — 均等だが規則でない、水玉のばら撒き方

正方形の中に藍色の水玉が均等だが規則正しくなくばら撒かれた図。どの2つの玉も一定距離以上離れ、大きさは最近傍距離に合わせて少し揺れる
どの 2 点も距離 r 以上離す、という条件だけで、置けなくなるまで置いた点。玉の大きさは最近傍距離の 0.42 倍。乱数なのに詰まり方が均等で、格子のような規則はない

なにか

水玉の布・壁紙のドット・印刷の網点・木の植え方・鳥の巣の分布——「均等にばら撒きたいが、格子のように規則正しくは見せたくない」場面は多い。一様乱数は塊と隙間ができ、格子は規則が見える。ポアソン・ディスクはその間にある配置で、「どの 2 点も距離 r 以上」という反発だけで作る。Bridson(2007)の作り方は、一辺 r/√2 の格子で近所を引き、活動中の点のまわりに k 回だけ候補を撒く——1 マスに高々 1 点しか入らないので(対角がちょうど r)、近所の判定が速い。

問題は「均等だが規則でない」を数で言えるかである。このギャラリーには回折の道具がある。点の配置のフーリエ変換を見ればよい。

青ノイズ——長い波長の濃淡がない

上に一様乱数・ポアソン・ディスク・六方格子の3つの点配置(各258〜270点)、下に3つの角度平均の構造因子S(q)。ポアソンは低波数で0.1に潰れ、2π/rに環が立つ。格子は鋭い点、乱数は1で平ら
上=同じ個数の 3 つの配置/下=角度平均の構造因子 S(q)(横軸は 2π/r で正規化・1 = 乱数の平ら)

同じ個数(258 点)の一様乱数・ポアソン・ディスク・六方格子を並べ、角度平均の構造因子 S(q) を測った。ポアソン・ディスクは q = 0.2〜0.5·(2π/r) で S ≈ 0.1——一様乱数の ≈ 1 に対して、長い波長の濃淡が消えている。q ≈ 2π/r(点の間隔の逆数)に環が立ち(1.46)、その上は平らに戻る。これが青ノイズ(低い周波数がない雑音)で、目には「均等」と映る。六方格子は同じ密度でも S に鋭い点(8.9・ブラッグ点)が立つ——それが「規則」と映る。均等と規則は別の量で、ポアソン・ディスクは前者だけを持つ。

最近傍距離の変動係数(ばらつき÷平均)で言えば、乱数 0.49・ポアソン 0.09・格子 0.00。密度 n·r² は六方充填の上限 2/√3 = 1.155 の 56%(k=30)。

⚠️ Bridson の k=30 は極大ではない——k を 100 にすると密度がさらに 7% 増える(0.645 → 0.688)。未被覆(どの点からも r より遠い場所)は k=5 で 3.2%・k=30 で 0.04%・k=100 で 0.02%。⚠️ 有限の点数なので S(q) には揺れが残る。⚠️ 「反発する点の分布は青ノイズになる」は伝聞の一般論で、測ったのはこの配置だけ。

→ Hat の回折像(同じ構造因子。あちらは点で、こちらは環)

→ ボロノイ(このばら撒きを種にすると、面積の揃ったセルになる)

→ フィロタキシス(もうひとつの「均等だが規則でない」——こちらは黄金角 1 つで決まる)

どう作ったか

generators/poisson.js。Bridson 法(格子 r/√2・k 回試行・決定的な乱数)と、対照の一様乱数・六方格子、角度平均の構造因子(90 方向)を自前で持つ。機械検査は 9 件: どの 2 点も距離 ≥ r(総当たり・k と種を振る)、格子 1 マス 1 点、未被覆が k で消える、密度が k で単調に増え上限の 5〜6 割(⚠️ k=30 は極大でない)、最近傍距離の変動係数、★低波数の S が潰れる、格子の点に対して環だけ、出荷SVG 2 枚。

出典

数理
R. Bridson, "Fast Poisson disk sampling in arbitrary dimensions", ACM SIGGRAPH 2007 Sketches。青ノイズという語は R. Ulichney, "Dithering with blue noise", Proc. IEEE 76 (1988)。⚠️ 「反発 → 青ノイズ」の一般論は伝聞
親戚
Hat の回折像(構造因子)・ボロノイフィロタキシストゥルシェ(乱数の模様の帳簿)
生成
generators/poisson.js(poisson.svg r=0.034 の水玉・poisson-book.svg 3 つの配置と S(q))