推导相机变换矩阵
2017-03-26 13:27
232 查看
参考 推导相机变换矩阵 : http://blog.csdn.net/popy007/article/details/5120158
在上面的文章中,了解到坐标转换公式。
具体的公式: P = MA * PA = MB * PB
(其中 MA 是一个矩阵,代表一个坐标系,MB也是一个矩阵,代表一个坐标系,那么PA,PB就是各自坐标系的点)
开始推导:
1. 相机的变换矩阵,其实就是为了把 世界坐标系中的 物体 变换到 相机坐标系中,简单地所就是,PW * M = PC, 其中 PW就是世界坐标系中的一个点,M就是这个相机的变换矩阵,得到的PC就是PW在相机坐标系中对应的点。
2. 所以,我们要求的就是这个矩阵M,由坐标转换公式得到,P = MW * PW = MC * PC ,其中,MW 是世界坐标系矩阵,PW是世界坐标系的点,MC是相机坐标系的矩阵,PC是相机坐标系下的点。
MW * PW = MC * PC
=》 PW = MC * PC (由于MW是单位矩阵)
3. PW = MC * PC
那么怎么表示MC ,MC其实利用相机的UVN, pos就可以表示,
MC = | Ux Vx Nx Tx |
| Uy Vy Ny Ty |
| Uz Vz Nz Tz |
| 0 0 0 1 |
上面的 MC 其实可以表示为两个矩阵相乘
MC = | Ux Vx Nx Tx | => | 1 0 0 Tx | * | Ux Vx Nx 0 |
| Uy Vy Ny Ty | | 0 1 0 Ty | | Uy Vy Ny 0 |
| Uz Vz Nz Tz | | 0 0 1 Tz | | Uz Vz Nz 0 |
| 0 0 0 1 | | 0 0 0 1 | | 0 0 0 1 |
MC =
(MT) *
(MR)
4. 看回 PW = MC * PC 其实,我们要求的是PC,所以得到,
PC = MC^(-1) * PW
看到这里,其实,MC^(-1) 就是我们需要求的相机变换矩阵。
根据上面的MC的表示,(如果A,B,C都是方阵 , (ABC)^(-1)=(C^-1)(B^-1)(A^-1))
MC^(-1) = (MT * MR) ^(-1)
= MR ^(-1) * MT^(-1)
| Ux Vx Nx 0 | | 1 0 0 Tx |
( | Uy Vy Ny 0 | ) ^(-1) * ( | 0 1 0 Ty | ) ^ (-1)
| Uz Vz Nz 0 | | 0 0 1 Tz |
| 0 0 0 1 | | 0 0 0 1 |
(因为MR是正交矩阵,所以逆就是转置)
在上面的文章中,了解到坐标转换公式。
具体的公式: P = MA * PA = MB * PB
(其中 MA 是一个矩阵,代表一个坐标系,MB也是一个矩阵,代表一个坐标系,那么PA,PB就是各自坐标系的点)
开始推导:
1. 相机的变换矩阵,其实就是为了把 世界坐标系中的 物体 变换到 相机坐标系中,简单地所就是,PW * M = PC, 其中 PW就是世界坐标系中的一个点,M就是这个相机的变换矩阵,得到的PC就是PW在相机坐标系中对应的点。
2. 所以,我们要求的就是这个矩阵M,由坐标转换公式得到,P = MW * PW = MC * PC ,其中,MW 是世界坐标系矩阵,PW是世界坐标系的点,MC是相机坐标系的矩阵,PC是相机坐标系下的点。
MW * PW = MC * PC
=》 PW = MC * PC (由于MW是单位矩阵)
3. PW = MC * PC
那么怎么表示MC ,MC其实利用相机的UVN, pos就可以表示,
MC = | Ux Vx Nx Tx |
| Uy Vy Ny Ty |
| Uz Vz Nz Tz |
| 0 0 0 1 |
上面的 MC 其实可以表示为两个矩阵相乘
MC = | Ux Vx Nx Tx | => | 1 0 0 Tx | * | Ux Vx Nx 0 |
| Uy Vy Ny Ty | | 0 1 0 Ty | | Uy Vy Ny 0 |
| Uz Vz Nz Tz | | 0 0 1 Tz | | Uz Vz Nz 0 |
| 0 0 0 1 | | 0 0 0 1 | | 0 0 0 1 |
MC =
(MT) *
(MR)
4. 看回 PW = MC * PC 其实,我们要求的是PC,所以得到,
PC = MC^(-1) * PW
看到这里,其实,MC^(-1) 就是我们需要求的相机变换矩阵。
根据上面的MC的表示,(如果A,B,C都是方阵 , (ABC)^(-1)=(C^-1)(B^-1)(A^-1))
MC^(-1) = (MT * MR) ^(-1)
= MR ^(-1) * MT^(-1)
| Ux Vx Nx 0 | | 1 0 0 Tx |
( | Uy Vy Ny 0 | ) ^(-1) * ( | 0 1 0 Ty | ) ^ (-1)
| Uz Vz Nz 0 | | 0 0 1 Tz |
| 0 0 0 1 | | 0 0 0 1 |
(因为MR是正交矩阵,所以逆就是转置)
相关文章推荐
- 推导相机变换矩阵
- 推导相机变换矩阵(转载添加自己注释)
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 【转载】推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 3D渲染管线中的变换矩阵及推导过程
- 相机变换矩阵
- 透视矩阵变换推导
- 绕任意轴旋转的变换矩阵的推导
- OpenGL渲染流水线之世界矩阵,相机变换矩阵,透视投影变换矩阵
- 单应矩阵,基本矩阵,本质矩阵 1.归一化图像坐标 2.本质矩阵 essential matrix 2.1 本质矩阵的推导 2.2特点 3.相机内参 4.基本矩阵 fundamental matrix
- 软件光栅器(Directx11)三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵
- 使用ICP得到的变换矩阵更新相机位置
- OpenGL取景变换(视图变换)矩阵推导