3D 旋转矩阵(三维旋转矩阵)
三维旋转矩阵是正交矩阵,用于描述空间中点绕某一轴旋转的线性变换,满足:
RT=R−1 \Huge R^T = R^{-1} RT=R−1
det(R)=1 \Huge \det(R)=1 det(R)=1
1. 基础轴旋转矩阵
(右手坐标系,逆时针旋转 θ)
绕 X 轴旋转
规则:X 坐标不变,Y-Z 平面旋转。


Rx(θ)=[1000cosθ−sinθ0sinθcosθ] \Huge R_x(\theta)= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix} Rx(θ)=1000cosθsinθ0−sinθcosθ
示例:θ = 90° Rx(90∘)=[10000−1010]\Huge R_x(90^\circ) = \begin{bmatrix}1&0&0\\0&0&-1\\0&1&0\end{bmatrix} Rx(90∘)=1000010−10 点 (0,1,0) → (0,0,1)
绕 Y 轴旋转
规则:Y 坐标不变,X-Z 平面旋转。


Ry(θ)=[cosθ0sinθ010−sinθ0cosθ] \Huge R_y(\theta)= \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix} Ry(θ)=cosθ0−sinθ010sinθ0cosθ
示例:θ = 90° Ry(90∘)=[001010−100]\Huge R_y(90^\circ) = \begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix} Ry(90∘)=00−1010100 点 (1,0,0) → (0,0,-1)
绕 Z 轴旋转
规则:Z 坐标不变,X-Y 平面旋转。


Rz(θ)=[cosθ−sinθ0sinθcosθ0001] \Huge R_z(\theta)= \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} Rz(θ)=cosθsinθ0−sinθcosθ0001
示例:θ = 90° Rz(90∘)=[0−10100001]\Huge R_z(90^\circ) = \begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix} Rz(90∘)=010−100001 点 (1,0,0) → (0,1,0)
助记口诀
- 绕谁谁不动:绕 X 则第一行 / 列不变;绕 Y 则第二行 / 列不变;绕 Z 则第三行 / 列不变。
- 二维旋转套进去:另外两维构成的子矩阵就是 2D 旋转矩阵。
- Y 轴符号特殊:−sinθ 在左下角(右手系约定)。
2. 复合旋转(欧拉角)
常用顺序:Z-Y-X
R=Rz(ψ) Ry(θ) Rx(ϕ)
\Huge R= R_z(\psi)\, R_y(\theta)\, R_x(\phi)
R=Rz(ψ)Ry(θ)Rx(ϕ)
依次:绕 Z → 绕 Y → 绕 X。
3. 绕任意单位向量 n=(nx,ny,nz)\mathbf{n}=(n_x,n_y,n_z)n=(nx,ny,nz) 旋转(罗德里格斯公式)
R=cosθ I+(1−cosθ)nnT+sinθ [0−nznynz0−nx−nynx0] \Huge R = \cos\theta \,I + (1-\cos\theta)\mathbf{n}\mathbf{n}^T + \sin\theta \, \begin{bmatrix} 0 & -n_z & n_y \\ n_z & 0 & -n_x \\ -n_y & n_x & 0 \end{bmatrix} R=cosθI+(1−cosθ)nnT+sinθ0nz−ny−nz0nxny−nx0
4. 用法
对空间点 p=(x,y,z)T\mathbf{p}=(x,y,z)^Tp=(x,y,z)T 旋转:
p′=R p
\Huge \mathbf{p}' = R\,\mathbf{p}
p′=Rp
旋转的线性变换&spm=1001.2101.3001.5002&articleId=159940787&d=1&t=3&u=eefff6702be24a69941f1d4b117a1e05)
6096

被折叠的 条评论
为什么被折叠?



