相关疑难解决方法(0)

python:绘制线框3D长方体

我想在 python 中绘制 3d 长方体。

输入:center(中心点有3个点)radius(3个半径值,每个维度一个)

理想情况下,它应该是一个线框图(我需要看看里面有什么)。我不太确定如何去做。使用 python matplotlib 或 Mayavi 就可以了。

谢谢!

到目前为止,我已经尝试了以下代码..但这只绘制了一个立方体

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
from itertools import product, combinations
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_aspect("equal")

#draw cube
r = [-1, 1]
for s, e in combinations(np.array(list(product(r,r,r))), 2):
    if np.sum(np.abs(s-e)) == r[1]-r[0]:
        ax.plot3D(*zip(s,e), color="b")
plt.show()
Run Code Online (Sandbox Code Playgroud)

这段代码中缺少的是它只是一个立方体(不是长方体)并且它仅以 0 为中心(我实际上想提供中心)

经过一番思考,我想出了这个。这似乎是正确的。如果您认为它不正确,请告诉我...这是无需安装 myavi、pygame、povray 的最简单方法(我很难在 ipython、conda、我的 Windows 笔记本电脑上安装这些)

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
from itertools …
Run Code Online (Sandbox Code Playgroud)

python plot wireframe mayavi

5
推荐指数
2
解决办法
1万
查看次数

用matplotlib表示体素

在Python中,给定一个N_1 x N_2 x N_3包含0或1 的矩阵,我将寻找一种以3D形式将数据显示为N_1 x N_2 x N_3体积为1s 的体积像素(体素)的方法。

例如,如果1s的坐标为[[1, 1, 1], [4, 1, 2], [3, 4, 1]],则所需的输出将如下所示

看来mplot3Dmatplotlib 的模块可以实现这一目标,但我还没有找到这种绘图的任何示例。有人知道解决此问题的简单解决方案吗?

在此先感谢您的帮助。

python matplotlib voxel

5
推荐指数
1
解决办法
7122
查看次数

标签 统计

python ×2

matplotlib ×1

mayavi ×1

plot ×1

voxel ×1

wireframe ×1