Main Content

cartesianToBarycentric

座標を直交座標から重心座標に変換

説明

B = cartesianToBarycentric(TR,ID,C) は、三角形分割オブジェクト TR を基準とした C の点の重心座標を返します。C の各行には、ID でインデックス付けされている三角形または四面体に対する点の直交座標が含まれます。TR の三角形または四面体の ID 番号は、プロパティ TR.ConnectivityList の対応する行番号です。

すべて折りたたむ

一連の点 P と三角形分割連結リスト T から三角形分割を作成し、その三角形分割をプロットします。

P = [2.5 8.0; 6.5 8.0; 2.5 5.0; 6.5 5.0; 1.0 6.5; 8.0 6.5];
T = [5 3 1; 3 2 1; 3 4 2; 4 6 2];
TR = triangulation(T,P);
triplot(TR)

Figure contains an axes object. The axes object contains an object of type line.

TR の最初 (左端) の三角形で、3 番目の頂点の直交座標を特定します。

L = TR.ConnectivityList(1,3);
C = TR.Points(L,:)
C = 1×2

    2.5000    8.0000

C を、最初の三角形を基準とした重心座標に変換します。

B = cartesianToBarycentric(TR,1,C)
B = 1×3

     0     0     1

入力引数

すべて折りたたむ

三角形分割の表現。スカラー triangulation オブジェクトまたは delaunayTriangulation オブジェクトとして指定します。

データ型: triangulation | delaunayTriangulation

三角形または四面体の ID。各要素が三角形分割オブジェクトの個々の三角形または四面体に対応するスカラーまたは列ベクトルとして指定します。各三角形または四面体の ID 番号は、ConnectivityList プロパティの対応する行番号です。

データ型: double

直交座標。2 次元座標の場合は 2 列の行列、3 次元座標の場合は 3 列の行列として指定します。

データ型: double

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2013a で導入