旋转矩阵
矩阵乘法可以理解为空间的映射,本文记录旋转矩阵的作用。
矩阵乘法
矩阵乘法可以理解为向量之间的投影,左侧矩阵的行向量与右侧矩阵的列向量投影作为结果。
当左侧矩阵为 N 维空间上的一组基时,这种乘法又可以看做是在求解原始空间中的向量 [b_1,b_4,b_7] 在空间中新的基下的表示 [c_1,c_4,c_7] 。
如果基的模长为1,那么求解原始空间中向量在新空间表示的长度时,其实就是原始向量在各个单位向量基上的投影长度,这也是基一般都是单位长度的原因。
旋转矩阵
旋转矩阵是特殊的单位基,用角度和三角函数表示基的大小,例如 [\cos \theta,\sin\theta]
这样基天然就是单位长度,而且带有可解释的含义,经过这样的基映射后,相当于原始空间的某个轴旋转了某个角度 \theta
旋转示例
原始二维笛卡尔坐标系空间中的一点 A(x,y),现将 X 轴和 Y 轴分别逆时针旋转 \theta _ x , \theta _ y 角度,之后原始的 A 点在新空间有新的表示 A’(x’,y’)。
新的 X 轴在原始坐标系下的单位向量为 [\cos \theta_x,\sin \theta_x],新的 Y 轴在原始坐标系下的单位向量为 [-\sin \theta_y,\cos \theta_y]
那么 A 在新坐标系下的坐标为 OA 向量分别到两个单位向量的投影长度:
$$ \begin{array}{l} x'=x\cos \theta_x+y\sin\theta_x\\ y'=-x\sin \theta_y+y\cos\theta_y\\ \end{array} $$
这也就完成了 A 的坐标系转换,用矩阵表示就是:
$$ RA= \left[\begin{array}{cc}\cos \theta_x & \sin \theta_x \\ -\sin \theta_y & \cos \theta_y\end{array}\right] \left[\begin{array}{cc}x \\ y \end{array}\right] = \left[\begin{array}{cc}x' \\ y' \end{array}\right] $$
其中 R =\left[\begin{array}{cc}\cos \theta_x & \sin \theta_x \\ -\sin \theta_y & \cos \theta_y\end{array}\right] X,Y 轴不一定垂直的特殊旋转,一般常用的旋转矩阵为 \theta_x = \theta_y,这里的是更一般的应用场景。
参考资料
文章链接: https://www.zywvvd.com/notes/study/linear-algebra/rotate-matrix/rotate-matrix/
相关文章
- keypad(键盘矩阵)指南
- 模型评估之混淆矩阵
- 云存储的矩阵突围与生态重塑
- Matlab 基础知识——矩阵操作及运算(矩阵、数组区别)
- matlab中矩阵的秩,matlab矩阵的秩
- 【HDU2865】构造矩阵+Burnside定理+欧拉函数类似poj2888[通俗易懂]
- 格拉姆矩阵(Gram matrix)详细解读
- 方形矩阵旋转(48)题解
- 华为机试 HJ35 蛇形矩阵
- 使用 Python 按行和按列对矩阵进行排序
- Python矩阵相关运算
- 【数据挖掘】神经网络 后向传播算法 ( 线性回归与逻辑回归 | 单个神经元本质及逻辑 | 神经网络每一层分析 | 神经网络矩阵形式 | 线性变换与非线性变换 )
- 【运筹学】线性规划数学模型 ( 知识点回顾 | 可行解 | 最优解 | 阶梯型矩阵 | 阶梯型矩阵向量 | 基 | 基向量 | 基变量 | 非基变量 )