0

I would like to know how I can get the area of the following point list. I am using the following script to make a mesh region and then find the area. However, the area is much larger than the value that I get from the Geomagic software. As I understood the Geomagic software converts the points to polygon objects by converting the points to a mesh.

https://pastebin.com/VVS9Pwr8

The area calculated by the Geomagic software = 12081.1423; the area calculated by the Mathematica = 31372.9.

The script I used:

f = ResourceFunction["NonConvexHullMesh"];
mesh = f[A12, 5];
MeshRegion[mesh, PlotTheme -> "Scientific"]
Area11 = Area[mesh]
MarcoB
  • 67,153
  • 18
  • 91
  • 189
Mehdi Ebadi
  • 501
  • 2
  • 7
  • can you specify what if f? – Rupesh Jun 13 '20 at 23:14
  • Sorry modified! – Mehdi Ebadi Jun 13 '20 at 23:19
  • 1
    This gets closer but it's a bit of an overestimate because the mesh is too thick mesh = ImageMesh[Dilation[Image3D@BinCounts[data], 1/2], Method -> "DualMarchingCubes"] SurfaceArea[ mesh]/2 (*divide by 2 because we don't want to count both sides *) (* result: 14237.9 *) – flinty Jun 14 '20 at 00:49
  • The function f seems to produce many "false" triangles. It is not really made to create a surface mesh. It creates a 3D tet-mesh, takes its triangles and just discards those triangles whose maximal edge lengths a shorter than a given threshold. No way that this can give a clean surface. You might need something more sophisticated like this to produce a better mesh. – Henrik Schumacher Jun 14 '20 at 07:28
  • Thank you flinty! I tried your script for my other example and the answer is closed (35105.3 Mathematica vs 30482.91 Geomagic). I am just wondering why we need to use the BinCounts and Dilation command here? – Mehdi Ebadi Jun 14 '20 at 16:16

0 Answers0