赞
踩
欧拉角用来计算空间中刚体的旋转位置,目的是改变刚体的朝向.
具体来说,空间中有一个点p和一根轴k,点p绕轴k旋转θ角度到p',求p'的坐标.这就是欧拉角要解决的问题.
只不过,欧拉角将1个点绕1根轴旋转1个角"转化为"1个点绕3个轴连续旋转3个角".
欧拉角的最终目的是为了改变刚体的朝向,刚体可以看做向量的集合,所有的向量都绕着同一个轴旋转相同的角度,达到改变刚体朝向的目的.
这里用"朝向"来描述刚体的位置变化,是为了表明刚体围绕某个目标变化其位置.从数学角度理解,将目标抽象为旋转轴.旋转轴可以在刚体上,也可以在刚体之外,事实上可以在任何位置.
欧拉角分为内旋(动态)欧拉角和外旋(静态)欧拉角.
内旋欧拉角旋转矩阵的推导过程
空间中刚体上一点p在固定坐标系oxyz中对应的向量为v.刚体的活动坐标系oX0Y0Z0与oxyz重合,刚体及活动坐标系oX0Y0Z0旋转过程如下:
这就是内旋欧拉角的旋转过程,如下图所示:
旋转轴序:Z0-X1-Y2;角序(γ,α,β).
因为刚体上的p点随着活动坐标系同步旋转,所以旋转完成后p点在活动坐标系oX3Y3Z3中对应的向量V3=v;求此时(完成3次旋转后)p点在oX0Y0Z0/oxyz中的向量V30及复合旋转矩阵R(γ,α,β)?
注意V3和V30的关系,这两个向量描述空间中同一个点p在两个不同坐标系(oX3Y3Z3,oX0Y0Z0)中的位置,需要将坐标系oX3Y3Z3中的V3变换到oX0Y0Z0中的V30.设变换矩阵R,那么V30 = R * V3.
根据条件,需要间接计算R,本质上其实是三次坐标变换:
将oX3Y3Z3中的V3变换到oX2Y2Z2中的V32,相当于oX3Y3Z3绕Y3轴顺时针旋转β到oX2Y2Z2位置(旋转方向X3 => Z3).设基础变换矩阵R(Y3,β),则:V32 = R(Y3,β) * V3.,求得:
2.将oX2Y2Z2中的V32变换到oX1Y1Z1中的V31,相当于oX3Y3Z3从oX2Y2Z2位置绕X2轴顺时针旋转α角度到oX1Y1Z1位置(旋转方向Z2 => Y2)设基础变换矩阵R(X2,α),则:V31 = R(X2,α) * V32.,求得:
3.将oX1Y1Z1中的V31变换到oX0Y0Z0中的V30,相当于oX3Y3Z3从oX1Y1Z1位置绕Z1轴顺时针旋转γ角度到oX0Y0Z0位置(旋转方向Y1 => Z1)设基础变换矩阵R(Z1,γ),则:V30 = R(Z1,γ) * V31.,求得:
变换关系推导,V30 = R(Z1,γ) * V31 = R(Z1,γ) * R(X2,α) * V32 = R(Z1,γ) * R(X2,α) * R(Y3,β) * V3 = R * V3 = R * v.
这3个基础变换矩阵就是内旋欧拉角(γ,α,β)连续绕轴Z0-X1-Y2旋转对应的3个基础旋转矩阵;复合变换矩阵R就是复合旋转矩阵R(γ,α,β): R(γ,α,β) = R = R(Z1,γ) * R(X2,α) * R(Y3,β),最终求得:
这个结果与万维百科的结果相同(该网页底部的表最后一个,只是这里表示欧拉角的符号顺序跟表中的不一样,替换掉就行了),如下图所示:
表中的Z1X2Y3=......是轴序:y-x-z的外旋欧拉角(α, β, γ)的复合旋转矩阵;不过没关系,轴序相反(Z0-X1-Y2),角序相同的动态欧拉角(α,β,γ)也是这个旋转矩阵.
注:所谓旋转矩阵,是针对点p在固定坐标系oxyz中旋转而言,假设没有活动坐标系参与,那么点p在固定坐标系oxyz中其实绕着3条直线(分别与活动坐标系3个轴Z0-X1-Y2重合)旋转,直接求这3个旋转矩阵很困难,所以要通过坐标变换的方法间接求旋转矩阵。
外旋欧拉角旋转矩阵的推导过程
外旋欧拉角很容易理解,就是刚体在固定坐标系oxyz中绕坐标轴旋转,将问题简化为刚体上的点p在固定坐标系oxyz中绕坐标轴y-x-z分别旋转(γ,α,β)角度,其实并不涉及活动坐标系,只不过为了跟内旋欧拉角对比,这里仍然令活动坐标系参与旋转.
设初始状态p点在固定坐标系oxyz中的向量v.
2.刚体活动活动坐标系oX1Y1Z1绕ox轴逆时针旋转α角度,设旋转后的新坐标系为oX2Y2Z2,v1旋转到v2,设基础旋转矩阵r(x,α),有: v2 = r(x,α) * v1.
3.刚体活动活动坐标系oX2Y2Z2绕oz轴逆时针旋转β角度,设旋转后的新坐标系为oX3Y3Z3,v2旋转到v3,设基础旋转矩阵r(z,β),有: v3 = r(z,β) * v2.
设复合旋转矩阵r(γ,α,β),有:v3 = r(z,β) * v2 = r(z,β) * r(x,α) * v1= r(z,β) * r(x,α) * r(y,γ) * v = r(γ,α,β) * v,求得:
结果与万维百科的结果相同(上面那个图表,只是这里表示欧拉角的符号顺序跟表中不一样,替换的即可).
内旋欧拉角和外旋欧拉角旋转矩阵对比,对旋转的理解
比较上述内旋欧拉角复合旋转矩阵R(γ,α,β)和外旋欧拉角复合旋转矩阵r(γ,α,β),发现R(γ,α,β) = r(γ,α,β).由此可以得出一个结论,角序相同,轴序相反(当然轴所在的坐标系不同)的内,外旋欧拉角复合旋转矩阵相同.
可见,内旋欧拉角和外旋欧拉角只是用不同的计算方法来解决同一个问题.
如果将三次旋转合并为一次旋转,就是轴角法.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。