我有兩個面向任意方向的三角形。我有兩個三角形的向前矢量,我想對齊每個正向矢量以面對相同的方向。我只能夠對世界x,y和z軸進行旋轉(我使用的軟件API非常有限)。給定一個旋轉矩陣找到頂點的新位置
因此,設A =第一個三角形的前向矢量,B =第二個三角形的前向矢量。 我可以用這個公式計算,以找到旋轉矩陣:
v = B X A
s = ||v||
c = A dot B
vx = skew-symmetric cross-product matrix of v
R = I + [vx] + [vx]^2 * (1-c)/s^2
我能找到R.
我不知道怎麼用[R,這樣我可以移動三角乙這樣的頂點三角形B和三角形A面向相同的方向。
圖片僅供參考:
謝謝大家提前幫助。
我忘了提到最後一件事(我用它更新了帖子)。我只有能力做世界旋轉(只有x,y,z軸)。我無法在矢量上應用旋轉。我使用的軟件非常有限。 – user2970916 2014-10-03 12:45:10
實際上這個矩陣是x,y和z軸旋轉的組合(不一定按照這個順序)。 – eap 2014-10-03 15:28:05