【現(xiàn)代計(jì)算機(jī)圖形學(xué)】002-變換
二維變換:
我們要把矩陣和變換聯(lián)系起來(lái)。
舉個(gè)例子:我們縮放一張圖片,我們把圖片視為一個(gè)矩陣,那么我們將其乘以一個(gè)0到1的小數(shù),就得到了縮放后的圖片。

但我們單獨(dú)縮放x值時(shí):

當(dāng)我們嘗試將圖片對(duì)稱時(shí):
y軸對(duì)稱,則x取負(fù)值

切變:
上邊向右移動(dòng)了距離a,但y軸高不變。
底邊不變,也就是說(shuō),在y為1的情況下,x的每個(gè)坐標(biāo)都向右移動(dòng)了y*a個(gè)單位。
體現(xiàn)在矩陣中,如下圖公式。
(個(gè)人認(rèn)為左上到右下的值為縮放,右上到左下的值為偏移)

旋轉(zhuǎn):
在不確定原點(diǎn)和方向的情況下,默認(rèn)原點(diǎn)為(0,0),默認(rèn)方向?yàn)槟鏁r(shí)針。

旋轉(zhuǎn),可以看作每一個(gè)點(diǎn),在乘以一個(gè)矩陣后,得到了一個(gè)新的位置。而實(shí)際上,偏移縮放,也是可以這樣理解的。如何得到這個(gè)矩陣,就是變換的關(guān)鍵。
已知在旋轉(zhuǎn)中,大小不變。那么我們可以通過(guò)一條邊的長(zhǎng)度,旋轉(zhuǎn)的角度,根據(jù)勾股定理得到其余兩條邊的長(zhǎng)度。于是便得到了第一個(gè)特殊點(diǎn)(cos角度,sin角度)。
既然我們已經(jīng)有了初始點(diǎn)位,變換后的點(diǎn)位,便可以根據(jù)初始點(diǎn)位與矩陣的叉積,得到變換后的點(diǎn)位。再然后便是二元一次方程。得解。

總結(jié):
我們的變換總是遵從下圖的規(guī)律,這種變換稱之為線性變換。

齊次坐標(biāo):
圖片的平移,只需要單純地加上偏移量就可以了。
但這樣,我們無(wú)法把它寫成矩陣公式。

所以在平移計(jì)算中,我們只能另外添加一個(gè)向量來(lái)得到最終結(jié)果。

但我們希望得到一個(gè)更方便的變換方式,來(lái)解決所有的變換問(wèn)題。所以我們引入了齊次坐標(biāo)。
用空間復(fù)雜度來(lái)將平移變換寫入公式。
點(diǎn)的坐標(biāo)變換,引入變量1,向量為了維持方向不變,引入變量0。


逆變換:
我們將變換的方法進(jìn)行逆變換,便得到未變換的值。
即坐標(biāo)乘以矩陣后得到的值,再乘以這個(gè)矩陣的逆矩陣,便會(huì)得到未變換的值。

注意:
變換的順序是非常重要的。先旋轉(zhuǎn)后平移和先平移后旋轉(zhuǎn)是兩個(gè)結(jié)果。就如同矩陣的乘法不滿足交換律。
其結(jié)果便是矩陣不滿足交換律。
向量默認(rèn)作為列向量。
矩陣的計(jì)算是從右到左的計(jì)算順序。
三維變換:
三維變換和二維變換極為相似,在原有計(jì)算的基礎(chǔ)上更換為四維矩陣。