使用的课程截图来自coursera的机器人学感知,链接为:导言 - 图像形成的几何学 | Coursera。
投影
点到线
3D场景中有两个东西,垂直于Z轴的 image plane 与 表示观察者位置的原点(0, 0, 0),假设image plane所在的位置为(0,0,1)。将观察者点与image plane上的点进行连接并延长,能够得到一条直线,这样每个点都能确定一条直线。(用一个点确定一条线让我想起了hough变换。)
这样每个点的坐标为[x y 1],把 z 设为1是为了凸优化(不懂)。
同样的,对image plane上的直线进行讨论。假设这条直线的方程为,它其实是一个3D场景中的 平面 在image plane上的投影,这个平面的法向量就是(a, b, c)。
将直线用方程表示就是下面这样。
一个直线的方程为ρ=xcosθ + ysinθ,其中ρ是原点到直线的距离,θ是a的法线与x轴的夹角。
(视频后面展示的图片,我看了半天看不懂,才发现原点在左上角,是用matplotlib读出来的)
线到面
现在如何确定image plane上的线的方程。
因为在image plane上的两点确定一条直线,而image plane上的两个点对应3D空间中的两条线,然后两条线能够确定3D plane上的一个平面,这个平面的法向量是这个平面上所有线的法向量。
法向量的求法就是向量的叉乘。
线到点也是同理。