30.1 ドロネー三角形分割
ドロネー三角形分割は、外接円の集合から構成されます。これらの外接円は、三角形分割する集合内の点のうち少なくとも 3 つが外接円の円周上に位置するように選択されます。点集合内の点はいずれも、外接円のいずれにも含まれません。
一般に、外接円の円周上には 3 つの点しかありません。ただし、場合によっては、特に規則的なグリッドの場合は、1 つの外接円上に 4 つ以上の点が存在することがあります。この場合、ドロネー三角形分割は一意ではありません。
: tri = delaunay (x, y)
: tetr = delaunay (x, y, z)
: tri = delaunay (x)
: tri = delaunay (…, options)
2 次元または 3 次元の点セットの Delaunay 三角形分割を計算します。
2 次元セットの場合、戻り値triは Delaunay 外接円基準を満たす三角形のセットです。つまり、[ x , y ] のデータ ポイントは定義三角形の外接円内にありません。三角形のセットtriはサイズ [n, 3] の行列です。各行は三角形を定義し、3 つの列は三角形の 3 つの頂点です。の値は、i 番目の三角形の j 番目の頂点の位置の xとy のtri(i,j)インデックスです。
3 次元セットの場合、戻り値tetrは Delaunay の外接円基準を満たす四面体セットです。つまり、[ x、y、z ] のデータ ポイントは定義する四面体の外接円内にありません。四面体セットはサイズ [n, 4] の行列です。各行は四面体を定義し、4 つの列は四面体の 4 つの頂点です。の値は、i 番目の四面体の j 番目の頂点の位置の x、 y、z のtetr(i,j)インデックスです。
入力x は、最初の列に x データ、2 番目の列に y データ、オプションの 3 番目の列に z データが含まれる、2 列または 3 列の行列になる場合もあります。
オプションの最終引数は文字列または文字列のセル配列でなければならず、基礎となる qhull コマンドに渡されるオプションが含まれます。詳細については、Qhull ライブラリのドキュメント (http://www.qhull.org/html/qh-quick.htm#options)を参照してください。デフォルトのオプションは です{"Qt", "Qbb", "Qc"}。Qhull が 2-D 入力に失敗した場合、オプションを使用して三角測量が再度試行されますが{"Qt", "Qbb", "Qc", "Qz"}、精度が低下する可能性があります。
optionsが存在しない場合は、[]デフォルトの引数が使用されます。それ以外の場合は、options がデフォルトの引数リストを置き換えます。デフォルトにユーザー オプションを追加するには、 optionsでデフォルトの引数を繰り返す必要があります。引数を渡さない場合は、 null 文字列を使用します。
x = rand (1, 10); y = rand (1, 10); tri = delaunay (x, y); triplot (tri, x, y); hold on; plot (x, y, "r*"); axis ([0,1,0,1]);
See also: delaunayn, convhull, voronoi, triplot, trimesh, tetramesh, trisurf.
3D 入力の場合、delaunayDelaunay 外接円の条件を満たす四面体のセットを返します。同様に、delaunaynDelaunay 外接円の条件を満たす N 次元単体を返します。三角形分割の N 次元拡張は、テッセレーションと呼ばれます。
: T = delaunayn (pts)
: T = delaunayn (pts, options)
N 次元の点の集合に対して Delaunay 三角形分割を計算します。
デローネ三角形分割は、N 個の三角形によって定義される N 個の球面が集合内の他の点を含まないような点集合の凸包の分割です。
サイズ [n, dim] の入力行列pts には、次元 dim の空間に n 個の点が含まれます。返される行列Tのサイズは [m, dim+1] です。Tの各行には、 次元 dim の単体を表す元の点セットptsへのインデックス セットが含まれます 。たとえば、2 次元単体は三角形で、3 次元単体は四面体です。
オプションの 2 番目の引数は文字列または文字列のセル配列でなければならず、基になる qhull コマンドに渡されるオプションが含まれます。詳細については、Qhull ライブラリのドキュメント (http://www.qhull.org/html/qh-quick.htm#options)を参照してください。デフォルトのオプションは、入力の次元によって異なります。
2Dと3D:オプション={"Qt", "Qbb", "Qc"}
4-D以上:オプション={"Qt", "Qbb", "Qc", "Qx"}
Qhull が 2D 入力に失敗した場合、{"Qt", "Qbb", "Qc", "Qz"}精度が低下する可能性のあるオプションを使用して三角測量法が再度試行されます。
optionsが存在しない場合は、[]デフォルトの引数が使用されます。それ以外の場合は、options がデフォルトの引数リストを置き換えます。デフォルトにユーザー オプションを追加するには、 optionsでデフォルトの引数を繰り返す必要があります。引数を渡さない場合は、 null 文字列を使用します。
See also: delaunay, convhulln, voronoin, trimesh, tetramesh.
点の集合のドロネー三角形分割の例は次の通りである。
rand ("state", 1);
x = rand (1, 10);
y = rand (1, 10);
T = delaunay (x, y);
X = [ x(T(:,1)); x(T(:,2)); x(T(:,3)); x(T(:,1)) ];
Y = [ y(T(:,1)); y(T(:,2)); y(T(:,3)); y(T(:,1)) ];
axis ([0, 1, 0, 1]);
plot (X, Y, "b", x, y, "r*");
その結果は図30.1に示されています。
三角測量のプロット
三角測量における点の特定
