要想知道什么是角速度,我们必须先定义清楚什么是旋转,对于二维平面内的转动,我们可以使用一个简单的矩阵描述:
R=[cosθ−sinθsinθcosθ]旋转之后的物体坐标表示为( x 是一个列矢量):
x~=Rx这个结果十分自然,但是我们需要从更深层次的角度看旋转。
旋转较于其他的空间变换,其不会改变物体的几何形状,也就是说物体的体积、形状都不发生改变,那么就可以得到一个事实:一根线在旋转之后不会改变其长度,我们取线元作为这一根线,线元的长度表示为:
ds2=dx2+dy2+dz2或者我们引入张量来表示:
ds2=δijdxidxj我们在之前写到的物体坐标变换中取微分:
dx~j=Rijdxi然后我们把变换之后的微分代入线元的表达式中:
ds~2=ds2=δijdxidxj=δijRmiRnjdxmdxn于是我们就得到了:
δmn=δijRmiRnj那么我们可以看出来旋转矩阵是一个正交矩阵:
RmjRnj=δmn另外如果我们使用微分几何的观点来看,转动是一个保度规的坐标变换,比如在欧氏空间中的度规是 diag(1,1,1) 转动过后度规还是 diag(1,1,1) ,这正是旋转矩阵是一个正交矩阵的表现。
有限大的旋转#
对于有限大的旋转,明显旋转的次序是不能发生调换,因为矩阵乘法不满足交换律,但是我们可以将一个有限大的旋转分成无限多的小转动,具体表现在把转动的角度分成无限小份:
ϕ=N→∞limNφ无限小的旋转#
无限小的旋转和有限小旋转的性质不完全相同,但是可以通过无限小旋转的累积等价得到有限小旋转。
前文已经写到:
x~i=Rijxj两边同时减去 dxi ,可以得到:
x~i−xi=(Rij−δij)xi我们得到了位矢的变化量,其中得到了一个新的矩阵,它描述了位矢与原坐标的微元线性关系,这个矩阵相当于是一个微小量,其代表了小量转动:
Φij=Rij−δij前文讲到旋转矩阵必须是一个正交矩阵那么这里我们代入进去看:
RijRik=δjk=(δij+Φij)(δik+Φik)=δijδik+Φkj+Φjk+ΦijΦik略去二阶小量,我们可以发现,无限小转动矩阵是一个反对称矩阵:
Φkj+Φjk=0那么我们可以得到一个结论:对于一个微小转动矩阵,总是可以分解成一个反对称矩阵和单位矩阵。
另外,得益于我们对于旋转的线性化处理,无限小旋转可以直接进行累加并且可以交换次序,比如我们有两个微小转动矩阵 A、B,我们计算对易子 [A,B]=AB−BA,得到:
(1+ΦA)(1+ΦB)−(1+ΦB)(1+ΦA)=O(ϕ2)当我们忽略二阶小量,就得到了其对易子等于0,也就说无限小转动可以调换次序而不影响结果。
角速度#
铺垫了那么多,最终我们会发现:
vi=dtdxi=(Rij−δij)xj这个和我们常见的速度表达式类似:
v=ω×r但是在三维空间中,角速度通常是一个三维矢量,而非一个反对称矩阵。
此处我们介绍对偶矢量,在三维空间中,一个反对称矩阵共有 3 个独立变量,而一个三维矢量也恰好有三个分量,这是一个惊人的巧合,因为这个巧合我们就可以使用一个三维矢量(角速度矢量)来代替繁琐的角速度矩阵,我们设反对称矩阵为 Φ,与其对偶的矢量为ω
我们可以这样取映射(是为了满足叉乘的定义):
ωi=−21εijkΦjk最后我们得到:
ω1=−Φ23ω2=−Φ31ω3=−Φ12也就是说我们从一个反对称矩阵计算出了一个三维矢量,这个矢量恰好是我们的角速度。
此处取这样的映射其实是有原因的,目的在于满足
v=ω×r写成张量形式:
vi=εijkωjxk前文已经写到:
vi=Φijxj因为反对称性质 Φij=−Φji,我们需要构造出角速度矢量来满足这个叉乘关系:
εijkωj=Φik两边同时乘以εijk,最后得到:
2ωj=εijkΦik=−εjikΦik这便是我们之前给出的构造方案,这个构造方案完美适配三维空间矢量叉乘,这让我们对于旋转的计算大大简化。
最后我们给出角速度矢量和角速度矩阵的对应关系:
Ω=Ω1Ω2Ω3,[Ω]=0Ω3−Ω2−Ω30Ω1Ω2−Ω10小角度的累积#
此前有讲到可以将小角度的转动进行累加得到有限大的转动,具体是使用指数运算实现,比如在二维空间中的小角度转动可以写成:
Φ=[0−ϕϕ0]=ϕ[0−110]最后的反对称矩阵称为李代数的基,如果我们考虑累积:
N→∞lim(1+NφJ)N=eφJ我们可以使用泰勒展开计算,最后得到:
eφJ=[cosφ−sinφsinφcosφ]这就是二维平面的旋转矩阵,和我们之前计算出的结果如出一辙,如果扩展到三维空间,那么就需要扩充李代数的基,但本质还是一样的。