作者:Eugene Wang
如果我们想要对二维矢量进行旋转,我们需要知道旋转点和旋转角度。如果要进行三维旋转,我们需要指定旋转轴和旋转角度。那么,我们可以进行四维旋转吗?或者说,我们可以进行更复杂的旋转吗?事实上,我们可以将其简化为,有一个n维向量,然后将这个向量旋转到另一个n维向量,我们将用更系统的方式来表达旋转。
首先,我们先来看看旋转的一些性质。第一个性质是旋转是线性变换,这种线性意味着两个方程:和。如果你在二维平面画出这些向量,你就可以验证它们。
由于旋转的线性属性,我们可以把旋转写成矩阵的形式:n维向量的旋转等于旋转矩阵R乘以n维向量。剩下的目标就是找到旋转矩阵R,使得。
接下来,我们要来讲旋转的第二个性质:如果我们只是单纯旋转,向量的长度和向量之间的角度应该保持不变。这一性质意味着,两个向量的点积在旋转前后保持不变。也就是说,如果原来是v·w,那么两个向量旋转后就变成了Rv·Rw,两个点积是相等的:。
对于实数向量,我们也可以将点积写为第一个向量的转置乘以第二个向量:。我们也可以将等式右边进行一下变换,就可以得到。因为这对于所有的向量v和w都是成立的,所以中间的就是单位矩阵。
因此,归结起来第二个性质就是满足的旋转矩阵,我们把满足该性质的所有矩阵的集合表示为,O代表正交,n代表矩阵R的阶。
然而,长度和角度保持不变不仅仅只有旋转能做得到,反射也能做到这一点。因此,与反射对应的矩阵也将是属于O(n)的。所以,我们需要旋转的第三个性质,即它不会改变顺序。我的意思是,假如原本从向量v到向量w是逆时针,那么经过反射后就变成了顺时针,而旋转却不会做出这样的改变。因此,根据线性代数的知识,我们知道旋转矩阵R的行列式应该为正的,所以。
因此,如果一个矩阵已经属于O(n),并且它的行列式为1,那么它就属于SO(n):。这里的S代表特殊的,对应于行列式为1的附加要求。
以上的讨论都是针对实向量,如果我们要旋转复数向量的话,我们只要稍微进行修改就行。首先,我们把旋转矩阵R替换成矩阵U,它们之间的区别是U是一个复矩阵。其次,从第二个性质我们得到了,现在我们要把它改成,其中意味着我们除了转置之外还取复共轭。最后,我们还有:和。
这样一来,我们就将旋转推广到了更高的维度和复数。虽然这些旋转矩阵很难直接去求解,但幸运的是,这些矩阵的集合,无论是O(n)、SO(n)、U(n)还是SU(n),都会形成称为李群的东西,这些都可以通过李理论去求解。
编辑:黄飞
-
矩阵
+关注
关注
0文章
422浏览量
34490 -
线性代数
+关注
关注
5文章
50浏览量
11052
原文标题:如何进行高维旋转
文章出处:【微信号:bdtdsj,微信公众号:中科院半导体所】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论