首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制几个三维半空间的交叉点?

绘制几个三维半空间的交叉点?
EN

Stack Overflow用户
提问于 2018-02-18 20:37:33
回答 1查看 672关注 0票数 1

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

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

这个库可能有用吗?scipy.spatial.HalfspaceIntersection。该样例使用二维打印和对三维matplotlib打印感兴趣的matplotlib

EN

回答 1

Stack Overflow用户

发布于 2018-02-19 10:04:33

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

代码语言:javascript
复制
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])

输出:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48851764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档