為什麼引入齊次坐標的變換矩陣可以表示平移呢?


我來回答一下,分為兩個問題:

1. 為什麼引入齊次坐標可以表示平移?

答:

首先我們用一個矢量來表示空間中一個點:r = [ r_{x}, r_{y}, r_{z}]
如果我們要將其平移,平移的矢量為:t=[ t_{x}, t_{y}, t_{z}]
那麼正常的做法就是:r + t =[ r_{x}+t_{x}, r_{y}+t_{y}, r_{z}+t_{z}]

如果不引入齊次坐標,單純採用3X3矩陣乘法來實現平移
你想做的就是找到一個矩陣m,使得
rcdot m = r + t =[ r_{x}+t_{x}, r_{y}+t_{y}, r_{z}+t_{z}]
然後你就會發現你永遠也找不到這樣的矩陣

所以我們需要新引入一個維度,原來r = [ r_{x}, r_{y}, r_{z},1]
那麼我們可以找到一個4X4的矩陣來實現平移
left[ 1,0,0,0 
ight]
left[ 0,1,0,0 
ight]
left[ 0,0,1,0 
ight]
left[ t_{x} ,t_{y},t_{z},1 
ight]
現在,就有:
rcdot m = r + t =[ r_{x}+t_{x}, r_{y}+t_{y}, r_{z}+t_{z}, 1]

2. 為什麼要引入齊次坐標來表示平移?

在計算機圖形學中,坐標轉換通常不是單一的,一個幾何體在每一幀可能都設計了多個平移,旋轉,縮放等變化,這些變化我們通常使用串接各個子變化矩陣的方式得到一個最終變化矩陣,從而減少計算量。所以我們需要將平移也表示為變化矩陣的形式。因此,只能引入齊次坐標系。


看了@Yu Mao 的回答一下子恍然大悟啊
另外在網上看到一篇博客,齊次坐標的另一個用處應該是區分向量和點吧
齊次坐標的理解

齊次坐標表示是計算機圖形學的重要手段之一,它既能夠用來明確區分向量和點,同時也更易用於進行仿射幾何變換。」—— F.S. Hill, JR


推薦閱讀:

別人學一小時就懂的,他需要十小時才懂,這樣的人學數學還有意義嗎?
學純數以後路會不會太窄?
一個具有介值性的函數是否一定存在原函數?
數學到底是什麼?學數學到底學的是什麼,是計算還是數字?
學數學越學越灰心怎麼辦?

TAG:數學 | 線性代數 | 高等數學 | 計算機圖形學 | 矩陣 |