如何获得网格的面积?

How to get area of a mesh?

网格细分成三角形如何求面积?

我找到了每个三角形的叉积,并根据 blender.I 计算出 area.The 面积是错误的已经查看了其他帖子的堆栈流,但它们不属于任何 help.Could你帮我弄清楚为什么我的网格得到了 16.3 的低面积。


 for i in f:
   # print("i",i)
    for k in i:
    # print("k",k)
     for j in z:
     # print("z",z)

      if (k==z.index(j)):


        f_v.append(j)
   # print(f_v)

    v0=np.array(f_v[0])
    v1=np.array(f_v[1])
    v2=np.array(f_v[2])

    ax=np.subtract(f_v[1],f_v[0])
    ax=np.subtract(f_v[2],f_v[1])
    ay=np.subtract(f_v[3],f_v[1])
   ..

    cxx=np.power(cx,2)
 #   cyy=np.power(ay,2)
    #czz=np.power(cz,2)

我创建了 meshplex 来帮助您完成此类任务,而且速度很快。只需加载网格并汇总单元格体积:

import meshplex

points = numpy.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0]])
cells = numpy.array([[0, 1, 2]])
mesh = meshplex.MeshTri(points, cells)
# or read it from a file
# mesh = meshplex.read("circle.vtk")

print(numpy.sum(mesh.cell_volumes))