用 matplotlib 表示体元


在 3D 计算机图形中,体元表示三维空间中规则网格上的一个值。我们可以说体元是 2D 中使用的像素的 3D 等价物。像素是 2D 图像中的一个正方形,在 2D 网格中具有位置和单个颜色值,而体元是 3D 模型中的一个立方体,在 3D 网格中具有位置和单个颜色值。

要使用 matplotlib 表示体元,我们可以采取以下步骤 −

步骤

  • 设置图像大小并调整子图之间和周围的填充。

  • 创建 0 到 1 之间的随机选择数据点。

  • 创建一个新图像或激活一个现有图像。

  • 获取当前坐标轴,如果需要,创建一个带有 projection='3d' 的坐标轴。

  • 使用 voxels() 方法绘制一组填充的体元。

  • 要显示图像,请使用 show() 方法。

示例

import numpy as np
import matplotlib.pyplot as plt

# Set the figure size
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# Random data points between 0 and 1
data = np.random.choice([0, 1], size=(5, 7, 9), p=[0.65, 0.35])

# Create a new figure
fig = plt.figure()

# Axis with 3D projection
ax = fig.gca(projection='3d')

# Plot the voxels
ax.voxels(data, edgecolor="k", facecolors='green')

# Display the plot
plt.show()

输出

它将产生以下输出 −

更新时间: 01-Feb-2022

2K+ 次浏览

开启您的 职业 生涯

完成课程并获得认证

开始学习
广告