Main Content

faceNormals

(不推荐)指定的三角形的单位法向量

不推荐使用 faceNormals(TriRep)。请改用 faceNormal(triangulation)

不推荐使用 TriRep。请改用 triangulation

说明

示例

FN = faceNormals(TR) 返回三角剖分中每个三角形的单位法向量。与三角形 i 相关联的法向量是 FN 的第 i 行。

注意

此查询仅适用于三角形曲面图网格。

FN = faceNormals(TR,TI) 返回各个指定三角形 TI 的单位法向量。

示例

全部折叠

对球体曲面图上的随机采样点执行三角剖分。

numpts = 100;
thetha = rand(numpts,1)*2*pi;
phi = rand(numpts,1)*pi;
x = cos(thetha).*sin(phi);
y = sin(thetha).*sin(phi);
z = cos(phi);
dt = DelaunayTri(x,y,z);
[tri,Xb] = freeBoundary(dt);
tr = TriRep(tri,Xb);

使用 TriRep 对象计算每个三角形的法向量。

fn = faceNormals(tr);

通过使用由法向量构成的重叠 quiver 图绘制三角剖分来显示结果。使用 incenters 将向量放在每个三角形的中心。

P = incenters(tr);
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3), ...
     'FaceColor','cyan','faceAlpha',0.8)
axis equal
hold on
quiver3(P(:,1),P(:,2),P(:,3), ...
     fn(:,1),fn(:,2),fn(:,3),0.5,'color','r')
hold off

输入参数

全部折叠

三角剖分表示,指定为 TriRepDelaunayTri 对象。

三角形索引,指定为列向量。TI 包含三角矩阵 TR.Triangulation 的索引。

输出参量

全部折叠

面法向量,以矩阵形式返回。FNm×3 矩阵,其中 m = length(TI) 是要查询的三角形的数量。每行 FN(i,:) 表示三角形 TI(i) 的单位法向量。

版本历史记录

在 R2009a 中推出