Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Biểu diễn voxel với matplotlib


Trong đồ họa 3D, voxel đại diện cho giá trị trên lưới đều trong không gian 3 chiều. Voxel là đối ứng 3D của pixel 2D. Pixel là ô vuông trong ảnh 2D có vị trí trên lưới 2D và một giá trị màu, voxel là khối lập phương trong mô hình 3D có vị trí trong lưới 3D và một giá trị màu.

Để biểu diễn voxel với matplotlib, thực hiện các bước sau:

Các bước

  • Thiết lập kích thước hình và padding.
  • Tạo dữ liệu ngẫu nhiên chọn 0 hoặc 1.
  • Tạo figure mới.
  • Lấy axes hiện tại với projection='3d'.
  • Vẽ tập voxel đã tô bằng phương thức voxels().
  • Hiển thị hình bằng show().

Ví dụ

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.choice([0, 1], size=(5, 7, 9), p=[0.65, 0.35])
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.voxels(data, edgecolor="k", facecolors='green')
plt.show()

Kết quả

Hình 3D hiển thị các khối lập phương (voxel) màu xanh lá, viền đen, phân bố ngẫu nhiên trong không gian 5x7x9.