旋转矩阵的理解
active transformation
由于运动是相对的,所以分为主动和被动的变换,就例如我主动平移点是一种平移,我变换坐标轴也是一种平移
passive transformation
如果一般的三维重构的话,应该考虑都是被动的变换,因为点是不变的变得是自己的视角 [ \tilde{X}c = \begin{pmatrix} I & t{cw} \ 0 & 1 \end{pmatrix} \tilde{X}_w ]
\[X_c = X_w + t_{cw}\]在三维重构的场景中,应该把X_w看作是不变的,变得是t
Active or Passive?
Passive!
相机动了,但是 3D 点没动,所以应该按 Passive 理解。
那么:
\[X_c = X_w - (- t_{cw}) = X_{w}-t_{wc}\]- $t_wc$ 也是相机光心在世界坐标系中的坐标,也是实实在在的向量,可被直观、可视化、几何图形化地理解。
- $t_cw$ 也是相机光心指向世界坐标系,摄像头看世界
那么旋转矩阵 $R$ 呢?
\[X_c = R_{cw} X_w\]向量和坐标? 坐标是系数,只是几个数,向量是有方向的(从原点开始的) 有了基向量才能明确坐标
坐标是用来线性组合基的
矩阵可以理解为对基向量用坐标的加权求和,矩阵乘法本质上是一种线性变换,它可以通过基向量的线性组合来表示向量在不同坐标系中的变化 这是按照列空间来理解的 

Vector Rotation
它是一个动作,一个函数,一个过程,只不过是用rotation matrix来表达这个函数
From Wikipedia, the free encyclopedia
In linear algebra, a rotation matrix is a transformation matrix that
[ R = \begin{bmatrix} \cos \theta & -\sin \theta \ \sin \theta & \cos \theta \end{bmatrix} ]
rotates points in the xy plane counterclockwise through an angle (\theta) perform the rotation on a plane point with standard coordinates (\mathbf{v})
[ R\mathbf{v} = \begin{bmatrix} \cos \theta & -\sin \theta \ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \ y \end{bmatrix} = \begin{bmatrix} x \cos \theta - y \sin \theta \ x \sin \theta + y \cos \theta \end{bmatrix}. ]
矩阵乘法看作是变基,就像是把原本的点映射到了一个新的坐标系一样 所以\(R_{cw}的行\)或者是 \(R_{wc}的列\) 可以看作是摄像机坐标系下的三个基向量在世界坐标系下的表示 由于 R wc 是 R cw的逆,它们在几何上描述了相反的变换,因此它们的行和列向量分别表示相反的基向量关系
[ \tilde{X}c = M{cw} \tilde{X}w = \begin{pmatrix} R & t \ 0 & 1 \end{pmatrix} \tilde{X}*w = \begin{pmatrix} R*{cw} & t{cw} \ 0 & 1 \end{pmatrix} \tilde{X}_w ]
[ \tilde{X}w = M{wc} \tilde{X}c = \begin{pmatrix} R^T & -R^T t \ 0 & 1 \end{pmatrix} \tilde{X}*c = \begin{pmatrix} R*{wc} & t{wc} \ 0 & 1 \end{pmatrix} \tilde{X}_c ]
Enjoy Reading This Article?
Here are some more articles you might like to read next:
- Google Gemini updates: Flash 1.5, Gemma 2 and Project Astra
- Displaying External Posts on Your al-folio Blog
- Agent 评测体系与评测集构建——美团《评测漫谈》+《评测白皮书 01》笔记
- 多模态 LLM 用户智能体做推荐系统离线 A/B 测试
- 自我改进 Agent 统一拆解:θ / Σ 双路线
- CS146S 学习笔记(Week 4-8):从智能体管理者到多栈 AI 构建
- CS146S 学习笔记:从 Prompt 技术全景到 AI IDE 设计文档规范
- 二分查找双模板 + searchInsert 逐行拆解:从模板到边界
- Agent Memory 全景:30 个记忆技术的模块化拆解
- LightRAG 深度解析:简单快速的图增强 RAG