我想找到容器的内部体积,例如玻璃杯。我想知道这个玻璃杯能装多少水。
我尝试的方法是 - 在玻璃周围创建一个边界框并获取边界框的体积,然后通过将玻璃转换为网格模型来找到玻璃的体积。因此,从边界框体积中减去网格体积,得到体积。但它并不准确。
容器形状不规则时,体积不准确
我使用了 trimesh 库,它有很多属性可以找到体积、面积、质心等
代码-
import numpy as np
import trimesh
mesh = trimesh.load('your_file.stl') # in stl format
print(mesh.volume)
mesh.bounding_box.extents
mesh.bounding_box_oriented.primitive.extents
mesh.bounding_box_oriented.primitive.transform
a=mesh.bounding_box_oriented.volume
b=mesh.volume
difference=a-b
print(mesh.bounding_box_oriented.volume,mesh.volume,difference)
任何解决问题的建议都会很有帮助。