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.


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]
  • $\begingroup$ can you specify what if f? $\endgroup$
    – Rupesh
    Jun 13 '20 at 23:14
  • $\begingroup$ Sorry modified! $\endgroup$ Jun 13 '20 at 23:19
  • 1
    $\begingroup$ 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 *) $\endgroup$
    – flinty
    Jun 14 '20 at 0:49
  • $\begingroup$ 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. $\endgroup$ Jun 14 '20 at 7:28
  • $\begingroup$ 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? $\endgroup$ Jun 14 '20 at 16:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.