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

แทน voxels ด้วย matplotlib


ในคอมพิวเตอร์กราฟิก 3 มิติ voxel แสดงถึงค่าบนกริดปกติในสามมิติสเปซ เราสามารถพูดได้ว่า voxel เป็น 3D ที่เทียบเท่ากับพิกเซลที่ใช้ใน 2D พิกเซลเป็นสี่เหลี่ยมจัตุรัสด้านในของภาพ 2 มิติที่มีตำแหน่งในตาราง 2 มิติและค่าสีเดียว ในขณะที่ voxel เป็นคิวบ์ภายในโมเดล 3 มิติที่มีตำแหน่งภายในตาราง 3 มิติและค่าสีเดียว

เพื่อแสดง voxels ด้วย matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้างจุดข้อมูลตัวเลือกแบบสุ่มระหว่าง 0 ถึง 1

  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่

  • รับแกนปัจจุบัน สร้างแกนหากจำเป็นด้วย projection='3d' .

  • พล็อตชุดของ voxels ที่เติมโดยใช้ 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()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

แทน voxels ด้วย matplotlib