繁体   English   中英

如何获得网格的面积?

[英]How to get area of a mesh?

如果细分为三角形,如何获得网格的面积?

我找到了每个三角形的叉积并计算了面积。根据搅拌机,面积出错了。我查看了堆栈流其他帖子,但它们没有任何帮助。你能帮我弄清楚为什么我会得到一个我的网格的低面积为 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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM