使用matplotlib表示体素
在3D计算机图形中,一个体素代表了在三维空间中的一个规则网格上的值。我们可以说,体素是2D中像素的3D等价物。像素是一个带有2D网格中位置和单个颜色值的方形,在3D模型内部,体素是一个带有3D网格内部位置和单个颜色值的立方体。
为了使用matplotlib表示体素,我们可以执行以下步骤:
步骤
- 设置图形大小并调整子图之间和周围的填充。
-
创建在0和1之间的随机选择数据点。
-
创建一个新的视图或激活现有的视图。
-
获取当前轴,如果需要,使用 projection=’3d’ 创建一个轴。
-
使用 voxels() 方法绘制一组填充的体素。
-
使用 show() 方法显示图形。
示例
import numpy as np
import matplotlib.pyplot as plt
# 设置图形大小
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 0至1之间的随机数据点
data = np.random.choice([0, 1], size=(5, 7, 9), p=[0.65, 0.35])
# 创建一个新的视图
fig = plt.figure()
# 带有3D投影的轴
ax = fig.gca(projection='3d')
# 绘制体素
ax.voxels(data, edgecolor="k", facecolors='green')
# 显示图形
plt.show()
输出
它将产生以下输出 –