两个单位向量p0(x0,y0,z0),p1(x1,y1,z1),求从p0旋转到p1的旋转矩阵
2个回答

这个问题有些麻烦,不知我能不能说明白.

把行向量(a,b,c)的转置记为(a,b,c)′,它是一个列向量.

我们的问题是,找一个行列式为1的正交矩阵C,使得:

(x1,y1,z1)′=C(x0,y0,z0)′.……①

(x0,y0,z0)是一个单位向量,以(x0,y0,z0)′为第一列,补成一个行列式为1的正交矩阵A.这是可行的:

x0x+y0y+z0z=0的基础解系含两个解向量,经过正交化,单位化(即施米特过程)可得到另外两列,然后调整一列的符号可使行列式为正1.

同样,以(x1,y1,z1)′为第一列,补成一个行列式为1的正交矩阵B.我们的①式,可以从:B=CA……②

的第一列得到.至此,问题已解决:C=BA^-1即可.

(A^-1为A的逆矩阵.容易验证,C是行列式为1的正交矩阵,且满足①式.)