ตัวอย่างการใช้งานโมดูล matplotilb 62 เรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม

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

 

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

 pip install matplotilb

 

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

pip install numpy  หรือ  pip install scipy

 

Input

import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

#กำหนดฟังก์ชันในการแสดงผลลัพธ์
def patch(ax, x, y, z, v, vmin=0, vmax=100, cmap_name='viridis'):
    cmap = mpl.cm.get_cmap(cmap_name)              #รับตารางสีตามชื่อ
    c = cmap(mpl.colors.Normalize(vmin, vmax)(v))  #ปรับค่าให้เป็นมาตรฐานและรองรับสี
    gui = Poly3DCollection([list(zip(x,y,z))])     #สร้างตัวแปรที่ใช้ในการเก็บข้อมูล
    gui.set_facecolor(c)                           #ตั้งค่าสี
    gui.set_edgecolor('k')                         #กำหนดขอบสี
    ax.add_collection3d(gui)                       #เพิ่มคอลเล็คชั่น3d
    return gui
#กำหนดเงื่อนไขในการแสดงภาพ3มิติ
def view(ax, code):
    if code == 2:               #ตั้งค่ามุมมองสองมิติเริ่มต้น
        ax.view_init(90, 0)     #กลับด้านภาพโดย matlab
    if code == 3:               #ตั้งค่าเริ่มต้นสามมิติ
        ax.view_init(30, -37.5)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#กำหนดตำแหน่งเส้นที่จะลากเชื่อมต่อกัน
x = [0.0, 1.0, 0.0];
y = [0.0, 0.0, 1.0];
z = [0.0, 1.0, 1.0];
v = 100.0;
patch(ax, x, y, z, v)
x = [1.0, 1.0, 0.0];
y = [0.0, 1.0, 1.0];
z = [1.0, 0.0, 1.0];
v = 50.0;
patch(ax, x, y, z, v)

plt.show()

Output

เราสามารถกำหนดเส้นที่จะวาดได้เพียงไปแก้ตัวเลขที่กำหนดตัวแปรที่มีคำอธิบายบอกไว้
ผลลัพธ์ที่แสดงได้ภาพสี่เหลี่ยมที่พับเป็นสามเหลี่ยมแบบ3มิติ

 

คำสั่งในการทำงานเรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม เริ่มจากเรียกใช้งานโมดูล matplotilb ก่อนเพื่อที่จะสามารถวาดกราฟได้ ต่อมากำหนดฟังก์ชันในการแสดงผลลัพธ์โดยเป็นการกำหนด Style ของภาพโดยจะมีการแสดงสีตามชื่อสีที่เราเรียกออกมา ขอบสี สีและค่าสีมาตรฐาน จากนั้นก็กำหนดเงื่อนไขในการแสดงผลลัพธ์ให้แสดงออกมาในรูปแบบ 3มิติตามด้วยตัวแปรชุดข้อมูลที่ใช้กำหนดภาพโดยจะวาดเส้นตามตำแหน่งที่เรากำหนดและสุดท้ายเปิดโชว์ภาพขึ้นมาแสดง

 

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
IP และ vpn (VMware)
โดย ballmykids อ 10 มี.ค. 2024 2:35 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
409
พฤ 21 มี.ค. 2024 6:49 am โดย mindphp View Topic IP และ vpn (VMware)
แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
โดย Anonymous ศ 08 มี.ค. 2024 7:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
300
ศ 08 มี.ค. 2024 8:12 pm โดย mindphp View Topic แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
พี่ช่วยผมหน่อยครับ
โดย cuthbertdavies จ 04 มี.ค. 2024 3:05 pm บอร์ด Programming - PHP
1
701
จ 04 มี.ค. 2024 3:08 pm โดย mindphp View Topic พี่ช่วยผมหน่อยครับ
เอาเครื่องเก่ามาจะลงโปรแกรมใหม่ เปลี่ยน SSD เจอปัญหา
โดย Anonymous จ 04 มี.ค. 2024 2:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
530
จ 04 มี.ค. 2024 2:17 pm โดย บุคคลทั่วไป View Topic เอาเครื่องเก่ามาจะลงโปรแกรมใหม่ เปลี่ยน SSD เจอปัญหา
โฆษณา LINE นั้นมีประโยชน์สำหรับการทำธุรกิจอย่างไร?
โดย admeadme อ 03 มี.ค. 2024 10:49 am บอร์ด Share Knowledge
0
535
อ 03 มี.ค. 2024 10:49 am โดย admeadme View Topic โฆษณา LINE นั้นมีประโยชน์สำหรับการทำธุรกิจอย่างไร?
สอบถามเรื่อง Storage ของ notebook
โดย Narisara ศ 01 มี.ค. 2024 10:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
379
พฤ 07 มี.ค. 2024 7:27 pm โดย mindphp View Topic สอบถามเรื่อง Storage ของ notebook
การแทรกข้อความตัวอย่างใน Microsoft Office Word ทำอย่างไรดีหรือไม่
โดย BXP พ 28 ก.พ. 2024 5:04 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
584
พ 28 ก.พ. 2024 5:04 pm โดย BXP View Topic การแทรกข้อความตัวอย่างใน Microsoft Office Word ทำอย่างไรดีหรือไม่
การเป็น Software Tester ที่ดีเป็นแบบไหน
โดย BXP พ 28 ก.พ. 2024 5:03 pm บอร์ด Software testing
0
525
พ 28 ก.พ. 2024 5:03 pm โดย BXP View Topic การเป็น Software Tester ที่ดีเป็นแบบไหน