Calculation of the surface area of a generic solid

12 ビュー (過去 30 日間)
Lorenzo Marta
Lorenzo Marta 2022 年 6 月 16 日
編集済み: Matt J 2022 年 6 月 17 日
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 日
Yes.
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;

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSTL (STereoLithography) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by