25 เมษายน 2559

Published 4/25/2559 by with 0 comment

วาดภาพเคลื่อนไหว 3D ด้วย VPython

สวัสดีผู้อ่านทุกท่านครับ ผู้อ่านคงอยากวาดภาพเคลื่อนไหว 3D เพื่องานต่าง ๆ เช่น จำลองการโคจรของโลก ดวงจันทร์ กับ ดวงอาทิตย์ หรือ จำลองการเคลื่อนที่โปรเจกไทล์ ในภาษา Python มีโมดูลที่ทำสิ่งเหล่านี้ได้ง่าย ๆ คือ โมดูล VPython ครับ

โมดูล VPython เป็นโมดูลสำหรับวาดภาพเคลื่อนไหว 3D ในภาษา Python โดยสามารถวาดภาพ 3D และสามารถเขียนโปรแกรมให้สามารถเคลื่อนไหวได้
ใช้ BSD-like
รองรับทั้ง Python 2 และ Python 3

Python 2 , 3 บน Windows สามารถโหลดไฟล์ whl มาติดตั้งได้จาก http://www.lfd.uci.edu/~gohlke/pythonlibs/#vpython

ตัวอย่างการใช้งาน

[python]
from visual import *
sphere(pos=vector(-1,0,0),radius=0.5,color=color.green) # วาดวงกลม
arrow(pos=vector(-1,0,0),axis=vector(+1,+3,0),color=color.red) # วาดรูปศร
[/python]

ผลลัพธ์
วาดภาพเคลื่อนไหว 3D ด้วย VPython




ทำระบบจำลองการเคลื่อนที่ของโลกรอบดวงอาทิตย์

[embed]https://youtu.be/iHy2cB-jIaQ[/embed]
โค้ด

[python]
from visual import *
Sun = sphere(pos=vector(0,0,0), radius=100, color=color.yellow)
Earth = sphere(pos=vector(200,0,0), radius=10,material=materials.earth,make_trail=true)
Earth.v = vector(0,-8,0)
for i in range(30000):
rate(100)
dist = (Earth.x**2 + Earth.y**2 + Earth.z**2)**0.5
radialVector = (Sun.pos - Earth.pos)/dist
Fgrav = 10000*radialVector/dist**2
Earth.v += Fgrav
Earth.pos += Earth.v
if dist <= Sun.radius: break
[/python]

ผลลัพธ์

ทำระบบจำลองการเคลื่อนที่ของโลกรอบดวงอาทิตย์ด้วย Python


จำลองการเคลื่อนที่โปรเจกไทล์ด้วย vpython
[embed]https://www.youtube.com/watch?v=fzS8jaeI6BM[/embed]

อ่านเอกสารเพิ่มเติมได้ที่ http://vpython.org/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)