啮合几何和发现网格面法向量

22日视图(30天)
我想知道如何导入3 d模型。stl文件),
使用MATLAB,网
确定只有网格表面的几何和形成的
找到每个网格的法向量元素及其表面积?

答案(2)


艾米丽Rolley-Parnell
艾米丽Rolley-Parnell 2022年10月24日
这是一个代码片段,应该做那份工作
%从文件导入网格作为一个“discreteGeometry对象”需要的部分
%微分方程工具箱
meshObj = importGeometry (“sample_shape.stl”);
x = meshObj.Vertices (: 1);
y = meshObj.Vertices (:, 2);
z = meshObj.Vertices (:, 3);
DT = delaunayTriangulation (x, y, z);%注意:将永远是一个凸三角形状
(T, Xb) = freeBoundary (DT);
freeBoundaryT =三角(T, Xb);
%绘制STL和表面法线
%内心和faceNormal都需要*剖分*
P =内心(freeBoundaryT);
F = faceNormal (freeBoundaryT);
trisurf (T, Xb (: 1), Xb (:, 2), Xb (:, 3),
“FaceColor”,“青色”,“FaceAlpha”,0.8);
平等的
持有
quiver3 (P (: 1), P (:, 2), P (:, 3),
(:1),F (:, 2), F (:, 3), 0.5,“颜色”,“r”);
% %找到表面积
%发现面临的数量构成的外表面
nFaces =大小(T, 1);
areaArray =南([nFaces, 1]);
n = 1: nFaces
P = Xb (T (n, 1):);
Q = Xb (T (n, 2):);
R = Xb (T (n, 3):);
PQ = Q - P;
公关= R - P;
areaArray (n) = 0.5 * vecnorm(交叉(PQ、公关),2,2);
结束
totalArea =总和(areaArray);

类别

找到更多的在三角表示帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!