← ギャラリーへ

距離を変えたボロノイ — 物差しを取り替えると境界の向きは量子化する。でも「誰と隣か」は変わらない

同じ40点を4つの距離で分割した藍色のボロノイ図が2×2に並ぶ。左上は碁盤の道のり(辺が0°45°90°)、右上はユークリッド、左下は王将の歩数、右下は乗法重みで円弧の島がある
同じ 40 点を 4 つの物差しで分割。左上=L1(碁盤の道のり)/右上=L2(ユークリッド)/左下=L∞(王将の歩数)/右下=乗法重み(距離 ÷ w)。重みだけ円弧の「島」が出る

なにか

ボロノイ図は「いちばん近い母点はどれか」で平面を分ける。その「近い」の物差しを取り替える——碁盤の目の街の道のり(L1)、王将の歩数(L∞)、その間の Lp、母点ごとの重み(強い母点ほど遠くまで縄張り)——と、同じ点から別の地図が出る。計算はラスタで、各マスについて全母点との距離を測るだけなので、距離が何であっても同じ手順で済む。

境界は量子化し、隣は変わらない

4つの距離の分割図と、境界の向きの割合の表、Lpのpを振ったときの隣接の一致率と量子化した境界の割合のグラフ
上=4 つの分割/下=境界の向きの割合(0°/45°/90°/135°/その他)と、Lp の p を 1 → 40 に振ったときの「L2 との隣接の一致率」と「45° に量子化した境界の割合」

境界の向きは距離で量子化する。境界画素の向きを 7 画素の窓で推定すると、0°/45°/90°/135° に乗るのは L1 で 77%・L∞ で 81%、L2 では 36%(残りはあらゆる向き)。L1 の 2 点の等距離線は水平・垂直・45° の折れ線だけでできているから。それでも「誰と隣か」(隣接グラフ)は L2 と L1 で 0.89、L∞ で 0.88 一致する——距離は境界の形を変えるが、隣は 9 割そのまま。Lp の p を 1 から 40 まで振ると、隣接の一致率は p=2 を頂点になだらかに下がり、量子化した境界の割合は逆に p=2 を底に上がる(1 と ∞ で 74%・74%)。

乗法重みだけ「島」が出る。重み w を 0.5〜2.0 の乱数で振ると、切れたセルが 3・囲まれたセル(隣接 1)が 1 出た。L1・L2・L∞ ではセルは全部つながり、囲まれない。重みつきの等距離線は円弧(Apollonius の円)で、弱い母点の縄張りは強い母点の中に丸く閉じ込められる。内側のセルの隣接数の平均は L1/L2/L∞ で 5.9〜5.8(オイラーの 6 の前後)、重みつきは囲まれたセルのぶん 4.9 に下がる。

独立 2 経路: L∞ は L1 を 45° 回したもの——母点を 45° 回して L1 で分割した地図は、L∞ の地図と 100.0% のマスで一致した。⚠️ ラスタ 240² で、向きの推定は角の近くで「その他」に落ちるので L1 でも 100% にはならない。⚠️ 島の数は重みの散らばりで変わる。⚠️ Apollonius 図・power 図という教科書の名前は伝聞。

→ ボロノイ図(L2・平均 6 の出どころ)

→ 双曲ボロノイ(空間を変えると「平均 6」が壊れる)

→ 詰まり方の帳簿(セルの辺の数と面積の関係)

どう作ったか

generators/voronoi-metric.js。ラスタ 240²(出荷図は 250²)で全母点との距離の最小を記録し、境界・隣接・連結成分・向きを帳簿にする。機械検査は 9 件: L∞ = 45° 回した L1(2 経路)、面積の和が 1、内側の隣接数の平均が 6 の前後、★向きの量子化(L1/L∞ ≫ L2)、★隣接の一致率 ≥ 0.85、Lp の掃引で p=2 が一致率の頂点、★重みだけ島が出て L1/L2/L∞ は出ない、出荷SVG 2 枚。

出典

数理
G. Voronoi (1908)/A. Okabe, B. Boots, K. Sugihara, S. N. Chiu, "Spatial Tessellations" (2000)(距離を変えた分割の教科書・伝聞)。数字はすべて自分のラスタで測った
親戚
ボロノイ図双曲ボロノイボロノイ×Hat詰まり方の帳簿スーパー楕円(Lp の単位円)
生成
generators/voronoi-metric.js(voronoi-metric.svg 4 分割・voronoi-metric-book.svg 帳簿)