「《ボロノイ図》」の版間の差分
(4人の利用者による、間の5版が非表示) | |||
3行目: | 3行目: | ||
空間に生成元とよばれるいくつかの図形が配置されているとき, 空間の各点を最も近い生成元へ割り当てた構造を[[ボロノイ図]] (Voronoi diagram) という. 一つの生成元に割り当てられた点全体がなす領域を, その生成元のボロノイ領域または勢力圏という. | 空間に生成元とよばれるいくつかの図形が配置されているとき, 空間の各点を最も近い生成元へ割り当てた構造を[[ボロノイ図]] (Voronoi diagram) という. 一つの生成元に割り当てられた点全体がなす領域を, その生成元のボロノイ領域または勢力圏という. | ||
− | 空間 | + | 空間 <math>E\, </math> に配置された生成元を <math>g_1, g_2, \cdots , g_n\, </math> とし, 生成元の集合を <math>G\, </math>とする. 任意の点 <math>{\rm P}\in E\, </math> から <math>g_i\, </math> までの距離を <math>d({\rm P}, g_i)\, </math> で表す. <math>g_i\, </math> のボロノイ領域 <math>R(G; g_i)\, </math> は |
− | + | <center> | |
+ | <math>R(G; g_i) = \{ {\rm P} \in E \mid d({\rm P}, g_i) < d({\rm P}, g_j), j \ne i\}\, </math> | ||
+ | </center> | ||
− | と表すことができる. | + | と表すことができる. <math>E\, </math> は, <math>R(G; g_1), R(G; g_2), \cdots ,R(G; g_n)\, </math> とそれらの境界に分割されるが, その分割構造がボロノイ図である. 空間 <math>E\, </math> と, 生成元 <math>g_i \; (i=1, 2, \cdots , n)\, </math> と距離 <math>d\, </math> の選び方によってさまざまなボロノイ図が定義できる. |
点を生成元とし, ユークリッド距離を距離とするボロノイ図は[[点ボロノイ図]] (Voronoi diagram for points) とよばれる. 2次元では, ボロノイ領域の境界は, 両側の生成元を結ぶ線分の垂直二等分線の上にあり, 3つのボロノイ領域の境界が共有する点はまわりの 3 個の生成元を通る円の中心である. | 点を生成元とし, ユークリッド距離を距離とするボロノイ図は[[点ボロノイ図]] (Voronoi diagram for points) とよばれる. 2次元では, ボロノイ領域の境界は, 両側の生成元を結ぶ線分の垂直二等分線の上にあり, 3つのボロノイ領域の境界が共有する点はまわりの 3 個の生成元を通る円の中心である. | ||
17行目: | 19行目: | ||
互いに交差しない線分を生成元とし, ユークリッド距離を距離とするボロノイ図は[[線分ボロノイ図]] (Voronoi diagram for line segments) よばれる. 2 次元線分ボロノイ図の境界は線分と放物線の一部によって構成される. | 互いに交差しない線分を生成元とし, ユークリッド距離を距離とするボロノイ図は[[線分ボロノイ図]] (Voronoi diagram for line segments) よばれる. 2 次元線分ボロノイ図の境界は線分と放物線の一部によって構成される. | ||
− | 中心が | + | 中心が <math>{\rm P}_i\, </math>, 半径が <math>r_i\, </math> の円を <math>c_i\, </math> とする. 点<math>{\rm P}\, </math> に対して<math>|{\rm P}-{\rm P}_i|^2-{r_i}^2\, </math>を, 点 <math>{\rm P}\, </math> と円 <math>c_i\, </math> のラゲール (Laguerre) 距離という. ただし<math>|{\rm P}-{\rm Q}|\, </math> は 2 点 <math>{\rm P}, {\rm Q}\, </math> のユークリッド距離を表す. 円 <math>c_1, c_2, \cdots , c_n\, </math> を生成元とし, ラゲール距離を距離とするボロノイ図を[[ラゲールボロノイ図]] (Laguere Voronoi diagram) またはパワー図 (power diagram) とよぶ. ラゲールボロノイ図の境界は超平面の一部である. 特に2次元では直線の一部であり, 3次元では平面の一部である. |
− | このほかにも <math> | + | このほかにも <math>\mbox{L}_p\, </math>-距離, ハウスドルフ距離などさまざまな距離を用いてボロノイ図が定義できる. このように一般の距離に基づいて定義されるボロノイ図を[[一般距離ボロノイ図]] (Voronoi diagram based on a general distance) とよぶ. |
たとえば, 点を生成元とし, ユークリッド距離の逆数を距離とみなして定義されるボロノイ図は最遠点ボロノイ図 (farthest-point Voronoi diagram) とよばれる. このボロノイ図では, 他の生成元より自分の方が離れているという領域がそれぞれの生成元のボロノイ領域となる. 空でないボロノイ領域をもつのは, 生成元の凸包の境界上に現れる生成元のみである. | たとえば, 点を生成元とし, ユークリッド距離の逆数を距離とみなして定義されるボロノイ図は最遠点ボロノイ図 (farthest-point Voronoi diagram) とよばれる. このボロノイ図では, 他の生成元より自分の方が離れているという領域がそれぞれの生成元のボロノイ領域となる. 空でないボロノイ領域をもつのは, 生成元の凸包の境界上に現れる生成元のみである. | ||
25行目: | 27行目: | ||
生成元がその位置や形を時間とともに変えると, 対応するボロノイ図も時間とともに変化する. このように時間の関数となるボロノイ図は[[動的ボロノイ図]] (dynamic Voronoi diagram) とよばれる. 動的ボロノイ図は, 飛行機やロボットが互いに接近し過ぎないよう監視するときなどに役立つ. | 生成元がその位置や形を時間とともに変えると, 対応するボロノイ図も時間とともに変化する. このように時間の関数となるボロノイ図は[[動的ボロノイ図]] (dynamic Voronoi diagram) とよばれる. 動的ボロノイ図は, 飛行機やロボットが互いに接近し過ぎないよう監視するときなどに役立つ. | ||
− | 平面上に与えられた有限個の点の集合を <math> | + | 平面上に与えられた有限個の点の集合を <math>S\, </math> とする. <math>S\, </math> を含む最小の円を<math>S\, </math> の[[最小包含円]] (minimum enclosing circle) という. <math>S\, </math> の最小包含円は, <math>S\, </math> のちょうど 2 個の点を境界上にもつか, 3個以上の点を境界上にもつかのいずれかである. 前者の場合の最小包含円の中心は<math>S\, </math> を生成元集合とする最遠点ボロノイ図の辺上にあり, 後者の場合の最小包含円の中心はその最遠点ボロノイ図の頂点のいずれかと一致する. |
− | 平面上の一つの多角形を | + | 平面上の一つの多角形を <math>T\, </math> とし, <math>T\, </math> 内に指定された有限個の点の集合を <math>S\, </math> とする. <math>T\, </math> 内に中心をもち, <math>S\, </math> の要素を一つも内部に含まない円を空円といい, その中で半径が最大のものを[[最大空円]] (maximum empty circle) という. 最大空円の中心は, <math>T\, </math> の頂点か, <math>S\, </math> を生成元集合とするボロノイ図の頂点か, あるいはボロノイ図の辺と <math>T\, </math> の境界辺の交点のいずれかである. |
− | ボロノイ図の効率のよい構成法はたくさん知られている. たとえば 2次元では, 点ボロノイ図, 線分ボロノイ図, ラゲールボロノイ図が<math> | + | ボロノイ図の効率のよい構成法はたくさん知られている. たとえば 2次元では, 点ボロノイ図, 線分ボロノイ図, ラゲールボロノイ図が<math>{\rm O}(n\log n)\, </math> の計算量で構成できる. <math>d\, </math> 次元空間 (<math>d \geq 3\, </math>) における点ボロノイ図とラゲールボロノイ図は, <math>{\rm O}(n^{\lfloor (d+1)/2\rfloor})\, </math> の計算量で構成できる. ただし <math>\lfloor x \rfloor\, </math> は <math>x\, </math> 以下の最大の整数である. |
ボロノイ図に関する詳しい解説には [1, 2, 3] がある. | ボロノイ図に関する詳しい解説には [1, 2, 3] がある. | ||
40行目: | 42行目: | ||
[1] F. Aurenhammer, "Voronoi Diagrams -A Survey of a Fundamental Geometric Data Structure," ''ACM Computing Surveys'', '''23''' (1991), 345-405. | [1] F. Aurenhammer, "Voronoi Diagrams -A Survey of a Fundamental Geometric Data Structure," ''ACM Computing Surveys'', '''23''' (1991), 345-405. | ||
− | [2] A. Okabe, B. Boots, K. Sugihara and S. N. Chiu, ''Spatial Tessellations -Concepts and Applications of Voronoi Diagrams, 2nd Edition'', John Wiley and Sons, Inc., Chichester, 2000. | + | [2] A. Okabe, B. Boots, K. Sugihara and S.-N. Chiu, ''Spatial Tessellations -Concepts and Applications of Voronoi Diagrams, 2nd Edition'', John Wiley and Sons, Inc., Chichester, 2000. |
[3] S. Fortune, "Voronoi Diagrams and Delaunay Triangulations," in ''Computing in Euclidean Geometry, 2nd Edition'', D. -Z. Du and F. Hwang, eds., World Scientific, Singapore, 225-265, 1995. | [3] S. Fortune, "Voronoi Diagrams and Delaunay Triangulations," in ''Computing in Euclidean Geometry, 2nd Edition'', D. -Z. Du and F. Hwang, eds., World Scientific, Singapore, 225-265, 1995. | ||
+ | |||
+ | [[Category:計算幾何|ぼろのいず]] |
2007年8月8日 (水) 15:05時点における最新版
【ぼろのいず (Voronoi diagram) 】
空間に生成元とよばれるいくつかの図形が配置されているとき, 空間の各点を最も近い生成元へ割り当てた構造をボロノイ図 (Voronoi diagram) という. 一つの生成元に割り当てられた点全体がなす領域を, その生成元のボロノイ領域または勢力圏という.
空間 に配置された生成元を とし, 生成元の集合を とする. 任意の点 から までの距離を で表す. のボロノイ領域 は
と表すことができる. は, とそれらの境界に分割されるが, その分割構造がボロノイ図である. 空間 と, 生成元 と距離 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle d\, }
の選び方によってさまざまなボロノイ図が定義できる.
点を生成元とし, ユークリッド距離を距離とするボロノイ図は点ボロノイ図 (Voronoi diagram for points) とよばれる. 2次元では, ボロノイ領域の境界は, 両側の生成元を結ぶ線分の垂直二等分線の上にあり, 3つのボロノイ領域の境界が共有する点はまわりの 3 個の生成元を通る円の中心である.
点ボロノイ図に対して, ボロノイ領域が隣り合う生成元を線分で結ぶことによってできる図形はドロネー図 (Delaunay diagram) とよばれる.
互いに交差しない線分を生成元とし, ユークリッド距離を距離とするボロノイ図は線分ボロノイ図 (Voronoi diagram for line segments) よばれる. 2 次元線分ボロノイ図の境界は線分と放物線の一部によって構成される.
中心が 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\rm P}_i\, } , 半径が の円を 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_i\, } とする. 点 に対してを, 点 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\rm P}\, } と円 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_i\, } のラゲール (Laguerre) 距離という. ただし構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle |{\rm P}-{\rm Q}|\, } は 2 点 のユークリッド距離を表す. 円 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_1, c_2, \cdots , c_n\, } を生成元とし, ラゲール距離を距離とするボロノイ図をラゲールボロノイ図 (Laguere Voronoi diagram) またはパワー図 (power diagram) とよぶ. ラゲールボロノイ図の境界は超平面の一部である. 特に2次元では直線の一部であり, 3次元では平面の一部である.
このほかにも 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \mbox{L}_p\, } -距離, ハウスドルフ距離などさまざまな距離を用いてボロノイ図が定義できる. このように一般の距離に基づいて定義されるボロノイ図を一般距離ボロノイ図 (Voronoi diagram based on a general distance) とよぶ.
たとえば, 点を生成元とし, ユークリッド距離の逆数を距離とみなして定義されるボロノイ図は最遠点ボロノイ図 (farthest-point Voronoi diagram) とよばれる. このボロノイ図では, 他の生成元より自分の方が離れているという領域がそれぞれの生成元のボロノイ領域となる. 空でないボロノイ領域をもつのは, 生成元の凸包の境界上に現れる生成元のみである.
生成元がその位置や形を時間とともに変えると, 対応するボロノイ図も時間とともに変化する. このように時間の関数となるボロノイ図は動的ボロノイ図 (dynamic Voronoi diagram) とよばれる. 動的ボロノイ図は, 飛行機やロボットが互いに接近し過ぎないよう監視するときなどに役立つ.
平面上に与えられた有限個の点の集合を 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\, } とする. 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\, } を含む最小の円を構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\, } の最小包含円 (minimum enclosing circle) という. 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\, } の最小包含円は, のちょうど 2 個の点を境界上にもつか, 3個以上の点を境界上にもつかのいずれかである. 前者の場合の最小包含円の中心は を生成元集合とする最遠点ボロノイ図の辺上にあり, 後者の場合の最小包含円の中心はその最遠点ボロノイ図の頂点のいずれかと一致する.
平面上の一つの多角形を 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle T\, } とし, 内に指定された有限個の点の集合を 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\, } とする. 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle T\, } 内に中心をもち, の要素を一つも内部に含まない円を空円といい, その中で半径が最大のものを最大空円 (maximum empty circle) という. 最大空円の中心は, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle T\, } の頂点か, を生成元集合とするボロノイ図の頂点か, あるいはボロノイ図の辺と 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle T\, } の境界辺の交点のいずれかである.
ボロノイ図の効率のよい構成法はたくさん知られている. たとえば 2次元では, 点ボロノイ図, 線分ボロノイ図, ラゲールボロノイ図が構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle {\rm O}(n\log n)\, } の計算量で構成できる. 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle d\, } 次元空間 (構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle d \geq 3\, } ) における点ボロノイ図とラゲールボロノイ図は, の計算量で構成できる. ただし 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \lfloor x \rfloor\, } は 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x\, } 以下の最大の整数である.
ボロノイ図に関する詳しい解説には [1, 2, 3] がある.
参考文献
[1] F. Aurenhammer, "Voronoi Diagrams -A Survey of a Fundamental Geometric Data Structure," ACM Computing Surveys, 23 (1991), 345-405.
[2] A. Okabe, B. Boots, K. Sugihara and S.-N. Chiu, Spatial Tessellations -Concepts and Applications of Voronoi Diagrams, 2nd Edition, John Wiley and Sons, Inc., Chichester, 2000.
[3] S. Fortune, "Voronoi Diagrams and Delaunay Triangulations," in Computing in Euclidean Geometry, 2nd Edition, D. -Z. Du and F. Hwang, eds., World Scientific, Singapore, 225-265, 1995.