シミュレータの練習

いきなり複雑なことをやろうとしても無理なので、地道に一歩づつ学習することにする。
まずは、ボールがはねる動きを模擬する。

高さ方向をyとして、下向きに重力が働く場合。

from visual import *

floor = box (pos=(0,0,0), length=10, height=0.2, width=10, color=color.green)
ball = sphere (pos=(0,4,0), radius=0.2, color=color.red)
ball.velocity = vector(1,-1,0)
dt = 0.01

while True:
    rate (100)
    ball.pos = ball.pos + ball.velocity*dt
    if ball.pos.y < floor.pos.y and  \
       ball.pos.x < floor.pos.x+floor.width/2:
        ball.velocity.y = -ball.velocity.y
    else:
        ball.velocity.y = ball.velocity.y - 9.8*dt

実行画面は次の通り。