我有许多(在5到50之间)3D线性不等式(例如,2x + 3y - z >= 2),每个都定义了3D中的半空间。
我需要在一个特定的3D区域中绘制由这些半空间(将具有无限体积)的交集形成的多面体。只要绘制多面体的边界曲面就足够了。
这个库可能有用吗?scipy.spatial.HalfspaceIntersection。该样例使用二维打印和对三维matplotlib打印感兴趣的matplotlib。
发布于 2018-02-19 10:04:33
最简单的方法是使用mayavi.mlab.contour3d()
import numpy as np
from mayavi import mlab
X, Y, Z = np.mgrid[-50:50:100j, -50:50:100j, -50:50:100j]
V = ((2 * X + 3 * Y - Z >= 2) &
(4 * X - 2 * Y + Z <= 10) &
(X + Y + Z >= 1)).astype(float)
mlab.contour3d(X, Y, Z, V, contours=[0.5])输出:

https://stackoverflow.com/questions/48851764
复制相似问题