Cesium中的相机—欧拉旋转

28 篇文章 51 订阅

Cesium中的相机—旋转矩阵一文中,我们给出了对于绕某个轴旋转的旋转矩阵,并给出了两种旋转方式的区别。

本文讨论连续旋转的旋转矩阵,仍然给出两种旋转的区别。

下图中,原始坐标系 o − x y z o-xyz oxyz为蓝色所示,经过三次欧拉旋转后得到最终的坐标系 o − X Y Z o-XYZ oXYZ(图中红色)。

三次旋转为:

  1. 首先绕Z轴旋转 α \alpha α角度,此时X轴指向N;
  2. 然后绕新的坐标系的X轴(N方向)旋转 β \beta β角度,此时将原来的Z轴旋转至红色的Z轴方向;
  3. 最后再绕新的坐标系的Z轴(红色)旋转 γ \gamma γ角度,得到最终的坐标系 o − X Y Z o-XYZ oXYZ(图中红色)。
    欧拉旋转
    则坐标系 o − x y z o-xyz oxyz到坐标 o − X Y Z o-XYZ oXYZ的旋转矩阵可由三次旋转矩阵相乘得到,每次旋转的角度称为欧拉角。

下面仍然分两种方式,分别给出,以便区别。

第一种旋转矩阵(仅坐标系旋转)

若以 [ x , y , z ] T \begin{bmatrix} x,y,z\end{bmatrix}^{T} [x,y,z]T表示点P在原坐标系 o − x y z o-xyz oxyz中的坐标分量, [ x ′ , y ′ , z ′ ] T \begin{bmatrix} x',y',z'\end{bmatrix}^{T} [x,y,z]T表示点P在旋转后的坐标系 o − X Y Z o-XYZ oXYZ中的坐标分量,则有:
[ x ′ y ′ z ′ ] = M ⋅ [ x y z ] = M z ( γ ) ⋅ M x ( β ) ⋅ M z ( α ) ⋅ [ x y z ] ( 1 ) \begin{bmatrix} {x}'\\{y}' \\{z}' \end{bmatrix}= M\cdot\begin{bmatrix} x \\y \\z \end{bmatrix}= M_z(\gamma)\cdot M_x(\beta)\cdot M_z(\alpha)\cdot\begin{bmatrix} x \\y \\z \end{bmatrix} (1) xyz=Mxyz=Mz(γ)Mx(β)Mz(α)xyz(1)
旋转矩阵 M M M是将点P在原坐标系中的坐标分量转换到新坐标系中的坐标分量。

第二种旋转矩阵(点或矢量随坐标系一起旋转)

[ x , y , z ] T \begin{bmatrix} x,y,z\end{bmatrix}^{T} [x,y,z]T表示点P在旋转后坐标系 o − X Y Z o-XYZ oXYZ中的坐标分量(始终不变), [ x ′ , y ′ , z ′ ] T \begin{bmatrix} x',y',z'\end{bmatrix}^{T} [x,y,z]T表示点P旋转后在原坐标系 o − x y z o-xyz oxyz中的坐标分量,则有:
[ x ′ y ′ z ′ ] = M ⋅ [ x y z ] = M z ( α ) ⋅ M x ( β ) ⋅ M z ( γ ) ⋅ [ x y z ] ( 2 ) \begin{bmatrix} {x}'\\{y}' \\{z}' \end{bmatrix}= M\cdot\begin{bmatrix} x \\y \\z \end{bmatrix}= M_z(\alpha)\cdot M_x(\beta)\cdot M_z(\gamma)\cdot\begin{bmatrix} x \\y \\z \end{bmatrix} (2) xyz=Mxyz=Mz(α)Mx(β)Mz(γ)xyz(2)
点P始终随坐标系 o − X Y Z o-XYZ oXYZ一起旋转,因此坐标分量始终为 [ x , y , z ] T \begin{bmatrix} x,y,z\end{bmatrix}^{T} [x,y,z]T
旋转矩阵 M M M是将点P在旋转后坐标系 o − X Y Z o-XYZ oXYZ(也可看成体坐标系)中的坐标分量转换到旋转前的原坐标系中的坐标分量。

注意!上述两式中,基础旋转矩阵刚好互逆,即式(1)和式(2)中的 M z ( α ) M_z(\alpha) Mz(α)(其它类似)是不同的,刚好互为转置,详细形式参见Cesium中的相机—旋转矩阵

Cesium中,采用第二种旋转矩阵的形式!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值