PROGRAM PYTHON

Pygame超入門【第35回 三角関数を使った反射】

 

 

三角関数を使って物体を壁に当てて反射させよう

以前の記事でボールを壁に当てて跳ね返すプログラムを作りました。
このプログラムは角度を気にせず、単に座標をずらしてボールを移動させていましたが、今回は三角関数を使って角度から座標を計算して物体を動かしてみましょう。
45度のように切りのいい角度であれば良いのですが、三角関数を使わないと指定した角度に従って物体を動かすことは難しいです。

 

三角関数を使った物体反射のプログラム

このプログラムでは、物体が画面の端にきたら角度を反転させます。
Y座標は単純に角度を反転させるだけですが、X座標は180度から反射前の角度を引いた値です。
以下の図のように、角度aで物体が壁に当たると角度bで跳ね返ります。
このことから、角度bは180度から角度aで引いた値になります。

pystart35-1b

プログラムを実行すると、物体が壁に反射します。

 

 

-PROGRAM, PYTHON
-,