射影几何基础
文章目录
- 射影几何基础
- 2D
- 2D点
- 2D直线
- 二次曲线
- 3D
- 3D点
- 3D 平面
- 3D直线
2D
2D点
欧氏空间中的笛卡尔坐标,缩放、旋转和仿射变换能表示成矩阵运算(线性) ; 但平移变换和透视投影不能表示成矩阵相乘。所以为了解决这个问题引入齐次坐标,其中齐次坐标有如下特性:
- 所有2D/3D几何变换可表示成矩阵运算/线性变换
- 可以表示无穷远点
笛卡尔坐标系 | 齐次坐标系 | |
2D | ||
3D |
射影几何用于 3D世界到2D图像之间的映射
射影空间:欧氏空间的扩展
齐次坐标
无穷远点、无穷远直线、无穷远平面
当,我们成该点为无穷远点(Infinity), 或理想点(Idea Point)
射影空间之间的映射为共线性映射,即保持共线 性(共线的点经过射影映射后还共线)。
从到的共线映射为,其中为的矩阵
其中2D欧氏坐标的点的笛卡尔坐标为 2D射影空间的点的齐次坐标为, 对应的点
可知道在笛卡尔坐标系中(2,1)的点在摄影空间为(2,1,1)
易知在笛卡尔坐标系中直线方程为
在笛卡尔空间中两条平行线是不可以相交的,但是在射影空间中两条平行线是可以相交的,如火车的铁轨
易知在笛卡尔坐标系中两平行线的交点方程为
可知此方程无解,因为当且仅当C=D时方程组成立,但是此两条直线重合
但在射影空间中
即
所以可知当w=0时,两平行线相交
欧氏空间中的平行线不会相交,但我们可以在齐次坐标下(射影空间)计算其叉乘,得到第3个元素为0,即无穷远点一般形式:给定两条平行线
则交点为
2D直线
2D射影空间IP2的直线也用3维齐次坐标表示为
点在直线上:点到直线的距离为0,可得
易知给定两点,可得经过这两点的一条直线
同理可得给定两条直线: 这两条直线点的交点为:
设两条线的齐次坐标分别为:(-1,0,1), (-1,0,2)
则这两条平行线的交点为无穷远点:
第3个元素为0表示这是一个无穷远点
前两个元素表示无穷远点的方向:(0,1)表示这是一个竖直方向的无穷远点
综上所述:
- 点在直线上
- 经过两点和的直线:
- 两条线和的交点 :
因为对于任意无穷远点存在直线,使得恒成立,所以为无穷远直线
二次曲线
平面上的二次曲线:用二阶方程描述
- 非齐次坐标表示:
- 齐次坐标:代入,得到
- 矩阵形式:,其中是对称矩阵,自由度为5
为每个点提供一个约束,即,其中,可得
3D
3D点
欧氏空间的3D点:
3D射影空间IP的点的齐次坐标为
当时,
当时,表示无穷远点。
3D射影空间中的点的射影变换为:
其中为4×4的非奇异矩阵,自由度为15
3D 平面
可知3D点的形式如下
设3D平面的形式如下
所以点在平面上可以表示为
若使用矩阵表示,则为
同理可得,平面的射影变换为
可知无穷远平面为
因为三个点可以确定一个平面,则有三个点满足
所以存在方程组
点 在由3点在一个平面上,有三点共面条件可得
解得:
可知3点 确定的一个平面为: ,因为,即是的零空间。
因为三个平面可以确定一个点,所以可得3个平面 确定一个交点,存在,即是的零空间。
3D直线
两点的连线:给定两个不重合的点A、B,连接这两个点的直 线有一个2×4的矩阵W的行的生成子空间表示:
其中表示直线上的点簇