我有两个面向任意方向的三角形。我有两个三角形的向前矢量,我想对齐每个正向矢量以面对相同的方向。我只能够对世界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