あと、反射せずに壁に沿って動く場合ですが、壁に垂直な入射速度の大きさ(前の書き込みのaです)が一定以下なら反射せず壁に沿って移動するとして、このときは壁に垂直な成分だけ打ち消せばいいので、PにaNを1回だけ足せばいいと思います。まとめると、 a=(-Px)*Nx + (-Py)*Ny IF a<(反射限界速度の大きさ) THEN b=1 '壁に沿う動き ELSE b=2 '反射する場合 ENDIF Rx = Px + b*a*Nx Ry = Py + b*a*Ny こんな感じかも!