私が調べたスタックオーバーフローに関するボールバウンス関連の質問がいくつかありますが、どれも私の苦境を乗り越えることはできません。3D 空間の線と交差する変換行列によって定義されたタートル カーソルがあります。私が望むのは、交点でカーソル、つまり変換行列を回転させて、新しい方向が反射ベクトルと一致するようにすることです。R
入射ベクトルからの反射ベクトルV
と反射線の法線の両方を取得する関数がありますN
。評価する前にそれぞれを正規化します。
N,V=unit_vector(N),unit_vector(V)
R = -2*(np.dot(V,N))*N - V
R=unit_vector(R)
私の変換行列T
は、numpy 配列にあります。
array([[ -0.84923515, -0.6 , 0. , 3.65341878],
[ 0.52801483, -0.84923515, 0. , 25.12882224],
[ 0. , 0. , 1. , 0. ],
[ 0. , 0. , 0. , 1. ]])
T を R で変換して正しい方向ベクトルを取得するにはどうすればよいですか? ここからR2_vect関数を見つけて使用して、あるベクトルから別のベクトルへの回転行列を取得しましたが、それらをvtkに送信してレンダリングすると、結果の反射のいくつかだけが正しく表示されます。すでに不安定な線形代数から覚えていることの限界に達しているように見えるので、ここでこれについて尋ねています。情報をありがとう。