如果我有任意多面体顶点的坐标数组,是否有一个库(最好是Python)可以计算该多面体的表面积和体积。这些计算的方法出现 established ,但我找不到实现此功能的库。更具体地说,如果我给出正八面体的坐标
arr1 = [[1,0,0],[-1,0,0],[0,1,0], [0,-1,0], [0,0,1], [0,0,-1]],
代码必须返回给我一个卷
4/3 (formula: sqrt(2)*a^3/4)
最佳答案
只要多面体是凸的(这是我目前的兴趣),scipy 有一个类 ConvexHull
可以计算面积和体积。例如,上述场景的体积可以计算如下
import numpy as np
from scipy.spatial import ConvexHull
arr1 = [[1,0,0],[-1,0,0],[0,1,0], [0,-1,0], [0,0,1], [0,0,-1]]
arr1 = np.asarray(arr1)
volume = ConvexHull(arr1).volume
print volume
上述代码产生的正确体积为1.33333
关于用于计算任意多面体的表面积和体积的Python库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42032540/