ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ตัวอย่างการใช้งานโมดูล matplotilb 18 เรื่องสร้างกล่องลูกบาศก์รูปร่างทรงกลมแบบ 3D

ตัวอย่างการทำงานที่ 18 เรื่องสร้างกล่องลูกบาศก์รูปร่างทรงกลมแบบ 3D เริ่มต้นจากติดตั้งโมดูลก่อนจากนั้นให้เราเรียกใช้งานโมดูล matplotilb กับ numpy เพื่อวาดกราฟและคำนวณค่าต่าง ๆ ต่อมาเป็นการกำหนดตัวแปรและสูตรที่จะนำมาใช้แสดงภาพ 3D สามารถอ่านรายละเอียดการทำงานของโค้ดตัวอย่างภาษา python ได้ด้านล่างนี้เลยครับ

 

ติดตั้งโมดูล matplotilb ด้วยระบบปฏิบัติการ Windows

pip install matplotilb

 

ส่วนโมดูล numpy ใช้คำสั่ง

pip install numpy  หรือ  pip install scipy

 

Input

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

def midpoints(x):
    sl = ()
    #ndim จำนวนขนาดของ array
    for i in range(x.ndim):
        #คำนวณองค์ประกอบทั้งหมดใน array exp[:-1]
        x = (x[sl + np.index_exp[:-1]] + x[sl + np.index_exp[1:]]) / 2.0
        sl += np.index_exp[:]
    return x
#กำหนดพิกัดและแนบค่า rgb เข้ากับแต่ละตัวแปร
r, g, b = np.indices((17, 17, 17)) / 16.0
redcolor = midpoints(r)
greencolor = midpoints(g)
bluecolor = midpoints(b)
#กำหนดทรงกลม
sphere = (redcolor - 0.5)**2 + (greencolor - 0.5)**2 + (bluecolor - 0.5)**2 < 0.5**2
#รวมองค์ประกอบสี
colors = np.zeros(sphere.shape + (3,))
colors[..., 0] = redcolor
colors[..., 1] = greencolor
colors[..., 2] = bluecolor
#กำหนดสีที่แสดงในวงกลม ขอบสี และเซตตำแหน่งข้อความ
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.voxels(r, g, b, sphere, facecolors=colors, edgecolors=np.clip(2*colors - 0.5, 0, 1), linewidth=0.5)
ax.set(xlabel='r', ylabel='g', zlabel='b')
plt.show()

Output

ตัวผลลัพธ์ลูกบาศก์ทรงกลม 3 มิติสามารถมุมปรับเปลี่ยนมุมมองได้
ผลลัพธ์ที่ได้ลูกบาศก์ทรงกลม 3 มิติ

 

คำสั่งในการทำงานเรื่องการสร้างกล่องลูกบาศก์รูปร่างทรงกลมแบบ 3D เริ่มจากเรียกโมดูลมาใช้งานโดยมี matplotilb numpy และ Axes3D เพื่อวาดกราฟออกมาเป็นภาพ3มิติ สามารถหมุนมองของภาพได้และคำนวณค่าจากสูตรวงกลมได้ จากนั้นกำหนดตัวแปร RGBในการสร้างสีต่าง ๆ ให้ลูกบาศก์ทรงกลมนี้มีสีที่หลากหลายมากยิ่งขึ้น กำหนดสีที่แสดงในวงกลมและขอบสี ส่วนคำสั่งฟังก์ชันในการทำงานคือการคำนวณองค์ประกอบของ array เพื่อที่จะวาดลูกบาศก์ที่มีลักษณะทรงกลมเป็นแบบ 3 มิติ สุดท้ายเปิดโชว์กราฟ 3 มิติที่เรากำหนดค่าไว้จะได้กล่องลูกบาศก์รูปร่างหน้าตาทรงกลมแบบ 3D

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ตัวอย่างการใช้งานโมดูล matplotilb 18 เรื่องสร้างกล่องลูกบาศก์รูปร่างทรงกลมแบบ 3 D

-VDO Tutorail - Python (53)

-บทเรียนเกี่ยวกับ Python (58)

-บทเรียนเกี่ยวกับ Python GUI (36)

-เทคนิคการเขียน Python (68)

-ถาม-ตอบ ปัญหา Python (630)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการเดินจากบ้านมากทม.
โดย Phakakrong อ 07 ก.ค. 2020 12:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
3
อ 07 ก.ค. 2020 12:03 pm โดย Phakakrong
Note
โดย Phakakrong อ 07 ก.ค. 2020 11:16 am บอร์ด M105 - ผกากรอง กุสาวดี
0
3
อ 07 ก.ค. 2020 11:16 am โดย Phakakrong
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
2
11
อ 07 ก.ค. 2020 11:18 am โดย Phakakrong
ให้เขียนประวัติ และ Job description ที่เคยทำมาแต่ละบริษัท โดยระบุประเภทธุรกิจที่เคยทำมา
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
0
2
อ 07 ก.ค. 2020 11:01 am โดย Phakakrong
Work's on Hand ผกากรอง กุสาวดี M105
โดย Phakakrong อ 07 ก.ค. 2020 11:00 am บอร์ด M105 - ผกากรอง กุสาวดี
0
3
อ 07 ก.ค. 2020 11:00 am โดย Phakakrong
งานประจำวันที่ 7 กรกฏาคม 2563
โดย Phakakrong อ 07 ก.ค. 2020 10:58 am บอร์ด M105 - ผกากรอง กุสาวดี
1
17
อ 07 ก.ค. 2020 11:23 am โดย Phakakrong
ฟอร์มรับเงิน Omise เราสามารถเปลี่ยน logo ได้มั้ยคะ
โดย thatsawan ศ 03 ก.ค. 2020 6:03 pm บอร์ด Programming - PHP
0
25
ศ 03 ก.ค. 2020 6:03 pm โดย thatsawan
input type="date" ไม่เเสดงเป็นปฎิทินวันที่ให้ใน safari แก้ไขยังไงคะ
โดย thatsawan พฤ 02 ก.ค. 2020 2:31 pm บอร์ด HTML CSS
0
47
พฤ 02 ก.ค. 2020 2:31 pm โดย thatsawan
การสร้าง bot messenger ของ facebook โดยใช้ pymessenger
โดย jirawoot พฤ 02 ก.ค. 2020 1:44 pm บอร์ด Python Knowledge
0
50
พฤ 02 ก.ค. 2020 1:44 pm โดย jirawoot
Q - ทดลองทำเอกสารยื่นแบบผ่านเน็ตแล้ว ไฟล์ txt ใช้ไม่ได้
โดย natthanit.r2538 พ 01 ก.ค. 2020 4:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
3
58
พ 01 ก.ค. 2020 5:41 pm โดย natthanit.r2538
สรุปการยื่นแบบภาษีออนไลน์
โดย natthanit.r2538 อ 30 มิ.ย. 2020 5:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
61
อ 30 มิ.ย. 2020 7:18 pm โดย natthanit.r2538
หลักการคิดค่าคอมมิชชั่น และวิธีการคิด รายได้จาก Commission
โดย natthanit.r2538 อ 30 มิ.ย. 2020 11:31 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
55
อ 30 มิ.ย. 2020 11:31 am โดย natthanit.r2538
MJUpgrade อัพเกรดไม่สำเร็จ Error: zip file not found
โดย chaiyaphat ศ 26 มิ.ย. 2020 11:01 am บอร์ด Joomla Development
3
510
ศ 26 มิ.ย. 2020 1:24 pm โดย mindphp
ตั้งค่าใช้ Email ใน phpbb เเล้ว ไม่ทำงาน
โดย thatsawan พฤ 25 มิ.ย. 2020 5:37 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
104
ส 27 มิ.ย. 2020 4:43 pm โดย thatsawan
เจอปัญหาตอนทำรายการ Omise เป็นบางครั้ง Error Uncaught OmiseInvalidChargeException
โดย thatsawan พฤ 25 มิ.ย. 2020 3:56 pm บอร์ด Programming - PHP
2
77
จ 29 มิ.ย. 2020 5:29 pm โดย thatsawan
ต้องการจะสร้างไฟล์ HTML เเต่นำค่า php ไป HTML โดย Twig เขียนใน phpbb จะทำยังไงคะ
โดย thatsawan พ 24 มิ.ย. 2020 5:45 pm บอร์ด Programming - PHP
3
79
พฤ 25 มิ.ย. 2020 3:49 pm โดย Sirayu
ถ้าเราต้องการแสดงค่าตอน onchange ใน option ที่มี value มากกว่า 1
โดย thatsawan อ 23 มิ.ย. 2020 12:51 pm บอร์ด JavaScript & Jquery Ajax
2
134
อ 23 มิ.ย. 2020 3:01 pm โดย thatsawan
4 จุดเช็คอิน เกาะล้าน ยอดฮิต
โดย A2d จ 22 มิ.ย. 2020 10:44 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
79
ส 27 มิ.ย. 2020 12:01 am โดย A2d
ต้องการจะเปลี่ยนคำปุ่ม omise จาก Pay with Omise เป็นคำที่เรากำหนดขึ้นเอง
โดย thatsawan จ 22 มิ.ย. 2020 5:18 pm บอร์ด PHP Knowledge
2
110
จ 22 มิ.ย. 2020 5:39 pm โดย thatsawan
สาเหตุที่เด็กทารกแพ้นมวัว คุณแม่จะรับมือปัญหานี้อย่างไรดี
โดย medalezga จ 22 มิ.ย. 2020 1:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
70
จ 22 มิ.ย. 2020 1:58 pm โดย medalezga