傾斜線とボールの間の距離を法線ベクトルで計算できますが、新しい速度を計算するにはどうすればよいですか?
2 に答える
アンダースの答えは良いものでしたが、数学のバックグラウンドがあまりないかもしれないので詳しく説明します。あなたが現在抱えている問題は、不十分に述べられています。ただし、次の図を参照してください。
これにより、必要な方程式を導き出すことができます。ここで、2 つのベクトルaとbのスカラー積abは、 a にbを射影した値を掛けたaの大きさを与えます。基本的に、nを単位ベクトル (各成分の方向の大きさ 1) とすると、anはnの方向に作用するaの成分の大きさを与えます。
したがって、速度成分を平面に平行な成分と垂直な成分に分割します。速度Vを取得するには、まずUをコンポーネントに分割します。
方向nの平面に垂直なベクトル速度w = ( Un ) nがあります。これは、実際にはU = ( Un ) n + [ U - ( Un ) n ] と書けることを意味します。これは、Uが自身の垂直成分 + 自身の平行成分で構成されているということです。ここで、 - VはUと非常に似ていますが、並列成分は逆方向に作用するため、 - V = ( Un ) n - [ U - ( Un) n ]。
上記を組み合わせると、Anders が述べた結果、つまりV = U -2[( Un ) n ] が得られます。ドット/スカラー積は、ab = |a||b|cos(A) として定義されます。ここで、A は、テール ツー テールで一緒に配置されたベクトル間の角度です。これにより、問題を解決できるはずです。
これが役立つことを願っています
ベクトル v=(vx,vy) が初期速度で、平面の法線が n=(nx,ny) の場合、新しい反射速度ベクトル r は次のようになります。
r=v−2(v⋅n)*n
積 (v⋅n) は v と n の内積で、vx nx+vy ny として定義されます。平面法線は正規化する必要があることに注意してください (長さ 1.0)。同じ答えの関連する質問https://math.stackexchange.com/questions/13261/how-to-get-a-reflection-vector