Calculation of the surface area of a generic solid

17 次查看(过去 30 天)
Hello, everyone,
I am having problems calculating the surface of a generic 3d solid in stl format. How can I do this? (For the volume I am using these commands:
-mesh = generateMesh(model);
-mv = volume(mesh))

回答(1 个)

Matt J
Matt J 2022-6-16
One way might be to read the stl file into a triangulation object using stlread. With the triangulation object, you can use freeBoundary to obtain the surface facets of the mesh. It should then be a simple matter to compute the facet areas and add them up.
  7 个评论
Matt J
Matt J 2022-6-16
编辑:Matt J 2022-6-17
You could probably vectorize the area calculation as well. For example, if there are N facets and you organize the triangle vertices into three 3xN arrays A,B,C the total area could be computed with,
Area=sum( vecnorm( cross(B-A,C-A) ,2,1) )/2;

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by