VoronoiMesh

VoronoiMesh[{p1,,pn}]

p1p2から,ボロノイ(Voronoi)メッシュを表すMeshRegionを与える.

VoronoiMesh[{p1,,pn},{{xmin,xmax},}]

メッシュを範囲に切り取る.

詳細とオプション

  • VoronoiMeshは,ボロノイ図,あるいはディリクレ(Dirichlet)分割としても知られている.
  • ボロノイメッシュは,それぞれが点 piと関連しで定義される n 個の凸状セルからなっている.式は,ji である任意の他の点 pjよりも piに近い点の領域を表している.
  • 外側の点と関連しているセルは有界ではないが,有界範囲のみが返される.明示的な範囲{{xmin,xmax},}が与えられない場合,範囲は自動的に計算される.
  • セルは,1Dにおいては区間,2Dにおいては凸多角形,3Dにおいては凸多面体である.
  • VoronoiMeshMeshRegionと同じオプションを取る.

例題

すべて開くすべて閉じる

  (2)

点の集合から1Dボロノイメッシュを作る:

各点が,1Dにおける区間であるボロノイセルに対応する:

点の集合から2Dボロノイメッシュを作る:

各点がボロノイセルに対応する:

スコープ  (2)

点の集合から1Dボロノイメッシュを作る:

基本的な特性:

ボロノイメッシュは全次元である:

ボロノイメッシュは切取り値によって有界である:

点の集合から2Dボロノイメッシュを作る:

基本的な特性:

ボロノイメッシュは全次元である:

ボロノイメッシュは切取り値によって有界である:

オプション  (11)

MeshCellHighlight  (2)

MeshCellHighlightを使うとVoronoiMeshの各部分のハイライトを指定することができる:

個々のセルはセル指標を使ってハイライトすることができる:

セルそれ自体を使うこともできる:

MeshCellLabel  (2)

MeshCellLabelを使ってVoronoiMeshの各部分にラベルを付けることができる:

個々のセルにはセル指標を使ってラベルを付けることができる:

セルそれ自体を使うこともできる:

MeshCellMarker  (1)

MeshCellMarkerを使ってVoronoiMeshの各部分に値を割り当てることができる:

MeshCellLabelを使ってマーカーを示す:

MeshCellShapeFunction  (2)

MeshCellShapeFunctionを使ってVoronoiMeshの各部分についての関数を指定することができる:

個々のセルはセル指標を使って描くことができる:

セルそれ自体を使うこともできる:

MeshCellStyle  (2)

MeshCellStyleを使ってVoronoiMeshの各部分のスタイルを指定することができる:

個々のセルはセル指標を使ってハイライトすることができる:

セルそれ自体を使うこともできる:

PlotTheme  (2)

格子線と凡例のあるテーマを使う:

テーマを使ってワイヤーフレームを描く:

アプリケーション  (8)

基本的な応用  (2)

ドラッグ可能な点を使ってインタラクティブなボロノイメッシュを作る.ボロノイメッシュ上でクリックを使い,ドラッグ可能な点を加えたり削除したりする:

格子を含む簡単な点形状のボロノイメッシュ:

点の円:

地理  (1)

イタリア内の最も近くにある大都市を示すインタラクティブな地図を作る.イタリアの大都市の名前と座標データを得ることから始める:

領域セルにラベルを付けるためのNearest関数:

都市の座標からボロノイメッシュを生成する:

ボロノイメッシュからツールチップの地図を作る:

地図の上でマウスを動かして最も近い大都市の名前を得る:

物理  (1)

2D格子の基底が与えられている:

格子点を生成する:

ブリルアンゾーンとしても知られるボロノイセルを生成し,可視化する:

画像処理  (1)

画像から多角形のモザイクを作る:

画像のエッジを検出する:

エッジの位置からボロノイメッシュを作る:

先行するボロノイセルの平均の頂点位置にVoronoiMeshを再帰的に適用し,より一様なメッシュを作成する:

各多角形をその平均頂点位置に当る色で彩色する:

その他  (3)

ランダムなボロノイメッシュからジグソーパズルを作成する:

メッシュから線を抽出する:

線を互いにかみ合う辺に変換する関数を定義する:

十分な長さの辺を互いにかみ合う辺で置換する:

結果を可視化する:

ランダムな点のサンプルの集合上で,関数の区分的に一定な補間を可視化する:

, のサンプル座標からのボロノイメッシュ:

の値をに再スケールする関数:

サンプルデータの区分的に一定な等高線プロット:

ListContourPlotを使っても同じようなプロットを得ることができる:

ボロノイエッジに沿って障害点のランダム集合を通る点ロボットの経路を考える:

障害物の周りにボロノイエッジを生成する:

ボロノイエッジから,辺の長さを辺の重みとして無向Graphを作成する:

Nearest関数を使って,始点および終点から最も近いボロノイ頂点を求める:

始点および終点をドラッグして別の経路(赤)を調べる:

特性と関係  (5)

VoronoiMeshの出力は,常に全次元のMeshRegionである:

もとのデータの各点が,ボロノイメッシュの厳密に1つのセルに含まれている:

VoronoiMeshDelaunayMeshの双対である:

各ボロノイセルは,もとになっている点集合の1点を含んでいる:

piについてのボロノイセルはで与えられる:

各セルの条件を生成する:

白い背景上の黒い点についてのDistanceTransformVoronoiMeshに似ている:

Wolfram Research (2014), VoronoiMesh, Wolfram言語関数, https://reference.wolfram.com/language/ref/VoronoiMesh.html (2022年に更新).

テキスト

Wolfram Research (2014), VoronoiMesh, Wolfram言語関数, https://reference.wolfram.com/language/ref/VoronoiMesh.html (2022年に更新).

CMS

Wolfram Language. 2014. "VoronoiMesh." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/VoronoiMesh.html.

APA

Wolfram Language. (2014). VoronoiMesh. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VoronoiMesh.html

BibTeX

@misc{reference.wolfram_2024_voronoimesh, author="Wolfram Research", title="{VoronoiMesh}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/VoronoiMesh.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_voronoimesh, organization={Wolfram Research}, title={VoronoiMesh}, year={2022}, url={https://reference.wolfram.com/language/ref/VoronoiMesh.html}, note=[Accessed: 21-November-2024 ]}