25 เมษายน 2559

Published เมษายน 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

ตัวอย่างการใช้งาน
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) # วาดรูปศร

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




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


โค้ด
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


จำลองการเคลื่อนที่โปรเจกไทล์ด้วย vpython

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

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

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

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