Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在Python中找到非闭合网格的体积?_Python 3.x_Mesh_Volume_Trimesh - Fatal编程技术网

Python 3.x 如何在Python中找到非闭合网格的体积?

Python 3.x 如何在Python中找到非闭合网格的体积?,python-3.x,mesh,volume,trimesh,Python 3.x,Mesh,Volume,Trimesh,所以我有一个球体的STL文件,它被切成两半。我想找到文件内部的卷,但因为它不是“水密”的,所以我找不到准确的卷。使用“体积修剪”(volume Trimesh)功能,体积的结果会在文件的不同旋转角度下发生变化 例如,当我检查没有旋转的卷时,卷为1.872。但在沿x、y、z旋转90、90、90后,文件的体积现在为2.044。我该怎么做才能获得切割球体文件的真实内部体积,而不会在旋转时改变它 要查找卷的当前代码: import trimesh my_mesh = trimesh.load('pat

所以我有一个球体的STL文件,它被切成两半。我想找到文件内部的卷,但因为它不是“水密”的,所以我找不到准确的卷。使用“体积修剪”(volume Trimesh)功能,体积的结果会在文件的不同旋转角度下发生变化

例如,当我检查没有旋转的卷时,卷为1.872。但在沿x、y、z旋转90、90、90后,文件的体积现在为2.044。我该怎么做才能获得切割球体文件的真实内部体积,而不会在旋转时改变它

要查找卷的当前代码:

import trimesh

my_mesh = trimesh.load('path/to/mesh/half_sphere.stl')
print(my_mesh.volume)

因此,如果没有“水密”,曲面的体积就没有太多意义。您可以找到定向边界框(
mesh.bounding\u box\u oriented.volume
)或边界球体(
mesh.bounding\u sphere.volume
)的体积。我认为你最好是尝试用手闭合网格,或者用表面积(
mesh.area
)来处理它

多谢各位。事实上,我最终只是使用了每个网格的凸面外壳,使它们防水。这并不完全是我想要的,但最终却能很好地满足我的需求