2D projectie plane
Row and column vector 通常情况向量 x \boldsymbol{x} x代表着列向量, 行向量使用 x T \boldsymbol{x^T} xT。
一个读者的感悟。
所有的知识点都是来源于书Multiple View of Geometry in Computer Vision 。读书的过程中觉得数学是一个很奇妙的东西。高中学习的知识在projective geometry中莫名被串了起来,形成了新的知识和新的系统。每一个定义和证明都非常巧妙有趣。受益匪浅。
PS 写博客过程中被导师提醒用英语写作可以锻炼research writing 的能力,所以博客后半段用英语写了。难以理解的地方尽量用中文注解。
Points and lines
在投影机和中点和线如何表示。通常情况下一条直线的表示方式为 a x + b y + c = 0 ax + by + c = 0 ax+by+c=0, 于是一条直线的向量我们可以表示为 ( a , b , c ) T (a, b, c)^T (a,b,c)T。然而这个表示并不是唯一的, 因为 ( k a ) x + ( k b ) y + ( k c ) = 0 (ka)x + (kb)y + (kc) = 0 (ka)x+(kb)y+(kc)=0对于任意 k k k, 表示的都是同一条直线, 所以向量可以表示为 k ( a , b , c ) T k(a, b, c)^T k(a,b,c)T。于是这里我们引用 Homogeneous representation of points.
Homogeneous representation of points
点 x = ( x , y ) T \boldsymbol{x}=(x,y)^T x=(x,y)T 在直线 l = ( a , b , c ) T \boldsymbol{l}=(a,b,c)^T l=(a,b,c)T上的条件为 a x + b y + c = 0 ax + by + c = 0 ax+by+c=0. 可以表示为 ( x , y , 1 ) ( a , b , c ) T = ( x , y , 1 ) l = ( k x , k y , k ) l = 0 (x,y,1)(a,b,c)^T = (x,y,1)\boldsymbol{l}= (kx,ky,k)\boldsymbol{l} = 0 (x,y,1)(a,b,c)T=(x,y,1)l=(kx,ky,k)l=0 这里的 ( k x , k y , k ) (kx,ky,k) (kx,ky,k)就是Homogeneous representation,所以投影空间的点可以表示为 ( x 1 , x 2 , x 3 ) (x_1, x_2, x_3) (x1,x2,x3),与之对应的二维空间的点应当表示为$(x_1/x_3, x_2/x_3).
Result2.1. The point x lies on the line l if and only if x T l = 0 x^Tl = 0 xTl=0.
Note that x T l = l T x = x . l x^Tl = l^Tx = x.l xTl=lTx=x.l.
两条直线的交点 (intersection of two lines)
两条直线 l = ( a , b , c ) T l = (a,b,c)^T l=(a,b,c)T and l ′ = ( a ′ , b ′ , c ′ ) T l' = (a',b',c')^T l′=(a′,b′,c′)T</