轉(zhuǎn)載:https://blog.csdn.net/oemt_301/article/details/103529972
在相機(jī)變換中經(jīng)常會(huì)遇到利用齊次坐標(biāo)進(jìn)行運(yùn)算的情況,以前都是感覺模模糊糊。今天看了一些文章,對(duì)它有了進(jìn)一步的自我理解。
先下結(jié)論:
(x, y, z, 1) 表示坐標(biāo)點(diǎn):表示坐標(biāo)系中一個(gè)固定的坐標(biāo)點(diǎn)
(x, y, z, 0) 表示向量:表示坐標(biāo)系中一個(gè)有向線段
這里可以看出,區(qū)別就是0與1。點(diǎn)的重點(diǎn)在點(diǎn),向量的重點(diǎn)在方向。
有上面兩者的定義,可以大概說(shuō)點(diǎn)是一個(gè)固定的值,即在坐標(biāo)系中可以找到該點(diǎn)即可;而向量主要表現(xiàn)在方向上,即基向量可以表示一個(gè)向量,對(duì)基向量乘以任意值,那么這個(gè)向量所表達(dá)的意義還是不變的。
而這里為什么齊次坐標(biāo)中最后一項(xiàng)“1”,可以表示一個(gè)固定點(diǎn),這里我們對(duì)坐標(biāo)點(diǎn)乘以任意值w(w≠0),那么點(diǎn)變?yōu)?wx, wy, wz, w),這里可以看到不管w是任何值,我們只需要將改變后的坐標(biāo)點(diǎn)最后一項(xiàng)變?yōu)?,即對(duì)坐標(biāo)點(diǎn)同時(shí)除以w,便可以將該坐標(biāo)點(diǎn)還原,假設(shè)如何最后一項(xiàng)是零的話,那么便會(huì)失去該性質(zhì)。
而對(duì)于向量,這里再次強(qiáng)調(diào),它只是表示一個(gè)有向線段,不管這個(gè)線段有多長(zhǎng),只要我們知道它的方向,我們便可以表示出該向量。而0即區(qū)分可坐標(biāo)點(diǎn),同時(shí)也可以表示該向量。
也可這樣理解(可能不嚴(yán)謹(jǐn)),點(diǎn)的長(zhǎng)度要一定,向量的長(zhǎng)度可以隨意。
以上是自我理解,下面是一些較嚴(yán)謹(jǐn)?shù)淖C明,這里依然一xyz坐標(biāo)系為例。
對(duì)于一個(gè)向量V,可以用一組坐標(biāo)表示(vx, vy, vz),使得V = vx×x + vy×y + vz×z (1)
對(duì)于一個(gè)點(diǎn)P,也可以用一組坐標(biāo)表示(px, py, pz),使得P-O = px×x + py×y + pz×z (2)
對(duì)式(2)經(jīng)過(guò)變換,可得P = px×x + py×y + pz×z + O (3)
對(duì)式(1)以矩陣形式表示為:V = (vx vy vz 0)T * (x y z o)
對(duì)式(3)以矩陣形式表示為:P = (px py pz 1)T * (x y z o)
這是(x y z o)可以看做坐標(biāo)基矩陣。
參考:https://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.html
https://blog.csdn.net/yinfourever/article/details/98480841