faceNormal
三角形分割の単位法線ベクトル
説明
例
表面上の単位法線
単位法線ベクトルを計算し、球面の三角形分割の小平面にプロットします。
球面に一連の点を作成します。
rng default;
theta = rand([100,1])*2*pi;
phi = rand([100,1])*pi;
x = cos(theta).*sin(phi);
y = sin(theta).*sin(phi);
z = cos(phi);
関数 delaunayTriangulation
を使用して、球面を三角形分割します。
DT = delaunayTriangulation(x,y,z);
三角形分割の自由境界の小平面を検出し、これを使用して表面上に 2 次元三角形分割を作成します。
[T,Xb] = freeBoundary(DT); TR = triangulation(T,Xb);
TR
の個々の三角小平面の中心と面法線を計算します。
P = incenter(TR); F = faceNormal(TR);
三角形分割を中心と面法線に沿ってプロットします。
trisurf(T,Xb(:,1),Xb(:,2),Xb(:,3), ... 'FaceColor','cyan','FaceAlpha',0.8); axis equal hold on quiver3(P(:,1),P(:,2),P(:,3), ... F(:,1),F(:,2),F(:,3),0.5,'color','r');
入力引数
TR
— 三角形分割の表現
スカラー三角形分割オブジェクト
2 次元三角形分割限定の三角形分割の表現。スカラー triangulation
または delaunayTriangulation
オブジェクトとして指定します。
データ型: triangulation
| delaunayTriangulation
ID
— 三角形 ID
スカラー | 列ベクトル
三角形 ID。要素が三角形分割オブジェクトの個々の三角形に対応するスカラーまたは列ベクトルとして指定します。各三角形の ID 番号は、ConnectivityList
プロパティの対応する行番号です。
データ型: double
バージョン履歴
R2013a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)