如何获得网格的面积?
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))
网格细分成三角形如何求面积?
我找到了每个三角形的叉积,并根据 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))