Python 绘制多个三维半空间的交点?

Python 绘制多个三维半空间的交点?,python,matplotlib,3d,scipy,Python,Matplotlib,3d,Scipy,我有许多(在5到50之间)3D线性不等式(例如,2x+3y-z>=2),每个不等式在3D中定义了半个空间 我需要在一个特定的3D区域中绘制由这些半空间的交集形成的多面体(它将具有无限体积)。只绘制多面体的边界曲面就足够了 这个图书馆有用吗。该示例使用二维绘图和matplotlib,对三维matplotlib绘图感兴趣。最简单的方法是使用mayavi.mlab.contour3d(): 将numpy导入为np 来自mayavi import mlab 十、 Y,Z=np.mgrid[-50:50:

我有许多(在5到50之间)3D线性不等式(例如,
2x+3y-z>=2
),每个不等式在3D中定义了半个空间

我需要在一个特定的3D区域中绘制由这些半空间的交集形成的多面体(它将具有无限体积)。只绘制多面体的边界曲面就足够了


这个图书馆有用吗。该示例使用二维绘图和
matplotlib
,对三维
matplotlib
绘图感兴趣。

最简单的方法是使用
mayavi.mlab.contour3d()

将numpy导入为np
来自mayavi import mlab
十、 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=1)).aType(浮点型)
mlab.contour3d(X,Y,Z,V,contours=[0.5])
输出:

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])