单视图几何

发布时间 2023-07-01 09:58:01作者: 小凉拖

无穷远点(也称理想点)和无穷远线和无穷远平面

2D:

这个无穷只能在齐次坐标下表示,在欧式坐标系下并不方便

所有理想都可以写成(x1,x2,0),并由比率x1:x2指定一个具体的理想点

直线的齐次表示:

性质1:

对于直线ax+by+c=0,我们可以用向量(a,b,c)T来表示,而且对于任何非零常数k直线ax+by+c=0和(ka)x+(kb)y+kc=0是同一条直线,因此(a,b,c)T和k(a,b,c)T也是同一条直线。

直线的方向向量和法向量:

   

点在线上的表示形式:

注意以上点都是齐次坐标

两条平行线的交点是无穷远点:

下面对于为什么是(b,-a,0)T做出解释:

此处用到了性质1

无穷远直线:

平行直线都会交于一个无穷远的点,所有无穷远的点会构成一条无穷远的线

3D:

点在面上:

三维空间的直线:

首先注意的是Ax+By+Cz+D=0是面的方程,因此三维空间中的直线我们没法用方程表示,只能写出它的方向向量,记作(a,b,c)T注意这个地方和上面的参数a,b,c可不相同。那么两条直线的交线是(a,b,c,0)T再说一遍注意这个地方和上面的参数a,b,c可不相同.

无穷远面:

平行的平面都会交于一条无穷远线,所有的无穷远线的集合就是一个无穷远面。

或则说:

每一个平面都会对应一个无穷远线,平面上的所有点都会汇聚到这条无穷远线上,所有平行平面的无穷远线是同一根,所有无穷远线集合就是一个无穷点面。

用(0,0,0,1)T来表示

影消点和影消线:

点到点的映射

这个地方解释了仿射变换后平行性为什么不在保持:两条平行线交于无穷远点,而经过透视变换,两条平行线不再保持平行性,也就是不再交于无穷远点,交于我们可以看到的点,那么原来两条平行直线在无穷远处的交点经过透视变换就变成有穷远点,我们可以看见的点,也就是无穷远点不再是无穷远点。

而仿射变换保持了平行性:两条平行线在仿射变换后还是平行线,原来交于无穷远点还是交于无穷远点,因此无穷远点还是无穷远点。

也就是无穷远被保持意味着平行性也被保持。

线到线的映射

可以通过立体图形来理解,无穷远线被保持意味着无穷远面之间还是平行的

影消点:

M是投影矩阵,是透视变换,p是像素坐标

 根据相机内参和直线的方向求直线的影消点:

K是相机内参,注意这里的直线方向是相机坐标系下的,因此不考虑外参矩阵

影消线 

 根据相机内参和平面的影消线求平面的法向量:

个人理解是,平面上的任意一点都会汇聚到该平面的无穷远线上(因为平面上任意一条线都会经过任意一点,而该直线上会和无穷远线交于无穷远点,因此直线上所有点也会汇聚到该无穷远点上)无穷远线上的点在像素平面上投影的像素点就是平面上的点在像素平面上投影的像素点,该像素点在影消线上。影消线只有通过无穷远线的投影才能得到,因此平面上的点不能直接投影在影消线上

 

两条直线的夹角:

w的性质