距離を変えたボロノイ — 物差しを取り替えると境界の向きは量子化する。でも「誰と隣か」は変わらない
なにか
ボロノイ図は「いちばん近い母点はどれか」で平面を分ける。その「近い」の物差しを取り替える——碁盤の目の街の道のり(L1)、王将の歩数(L∞)、その間の Lp、母点ごとの重み(強い母点ほど遠くまで縄張り)——と、同じ点から別の地図が出る。計算はラスタで、各マスについて全母点との距離を測るだけなので、距離が何であっても同じ手順で済む。
境界は量子化し、隣は変わらない
★境界の向きは距離で量子化する。境界画素の向きを 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 図という教科書の名前は伝聞。
どう作ったか
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 帳簿)