Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การแสดง Voxels ด้วย matplotlib

ในกราฟิกคอมพิวเตอร์ 3D voxel แทนค่าบนกริดปกติในพื้นที่ 3 มิติ กล่าวได้ว่า voxel คือ 3D equivalent ของ pixel ใน 2D Pixel คือสี่เหลี่ยมในภาพ 2D มีตำแหน่งในกริด 2D และค่าสีเดียว ในขณะที่ voxel คือลูกบาศก์ในโมเดล 3D มีตำแหน่งในกริด 3D และค่าสีเดียว

ในการแสดง voxels ด้วย matplotlib สามารถทำตามขั้นตอนดังนี้:

ขั้นตอน

  • ตั้งค่าขนาดรูปและปรับ padding ระหว่างและรอบ subplots

  • สร้างข้อมูลสุ่มเลือกระหว่าง 0 และ 1

  • สร้าง figure ใหม่หรือ activate existing figure

  • ได้ current axes สร้างใหม่ถ้าไม่มี projection='3d'

  • วาดชุด filled voxels ด้วยเมธอด 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])
# สร้าง figure ใหม่
fig = plt.figure()
# Axis กับ 3D projection
ax = fig.gca(projection='3d')
# วาด voxels
ax.voxels(data, edgecolor="k", facecolors='green')
# แสดง plot
plt.show()

ผลลัพธ์

จะแสดงโครงสร้าง 3D voxels สีเขียว ขอบสีดำ ขนาด 5x7x9

การแสดง Voxels ด้วย matplotlib