初探vpython

2020-05-03

折騰了六天的課,終於可以好好休息一天了 -_-

初次聽到vpython這個套件是在電腦課上聽到的,當初沒甚麼興趣,現在倒是來了興致少了時間…

等加速度運動

這是課本裡運動學最簡單的東西。

首先定義好物件。

1
2
3
4
5
import vpython as vp

monitor = vp.canvas(title = "uniform accelerated motion")
ground = vp.box(pos = vp.vector(0, 0, 0), size = vp.vector(10, 0.4, 2))
cube = vp.box(pos = vp.vector(-4.9, 0.3, -0.8), size = vp.vector(0.2, 0.2, 0.2), color = vp.color.purple)

注意他size是指整個物體的長寬高,而不是從pos開始算。

所以上面的正方體座標就是(0.5, 0.5, 0.5), (-0.5, 0.5, 0.5), (0.5, -0.5, 0.5)…

定義部分應該很好理解。

物件運動的部分

1
2
3
4
5
6
7
8
a = 0.1
v = 0
dt = 0.01

while cube.pos.x < 4.9:
vp.rate(1000)
cube.pos.x += dt * v
v += a * dt

就只是這樣而已,很簡單。
但是你會發現一開始的鏡頭會被地板擋住,可以使用vp.canvas(…, center = vp.vector(x, y, z), …)來調整

就先這樣了…以後還有時間再更新…