用于计算任意多面体的表面积和体积的Python库

标签 python geometry polygon computational-geometry

如果我有任意多面体顶点的坐标数组,是否有一个库(最好是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/

相关文章:

python - 在 Python 中,如何运行 while 循环的迭代 n 次?

python - 单击按钮停止 stream.filter()

C# SQL地理 : diagnosing invalid geometries

将多边形转换为三角形

c# - 缓冲折线以创建多边形的有效算法?

r - 检查点是否在由多个多边形/孔组成的空间对象中

python - 我不断收到语法错误,不知何故,由于函数定义末尾的冒号

c# - 通过 C# 和 cPython 之间的管道交换数据

java - 快速绘制任意点的集合

r - 如何在R中划分多边形?