這一篇是爲了後面着色效果的數學基礎做積累,之前我們使用矩陣的大部分情況都是直接的仿射空間變換,就是仿射空間A變換到仿射空間B,使用矩陣也都是如下:
矩陣T*齊次座標V = 齊次座標V'
其計算細節也就是矩陣行與向量列的點積,其計算意義也就是獲得新仿射空間中的座標分量,也聊了很多了。
這次我們就來學兩個矩陣的操作,一個是矩陣的轉置操作(得到轉置矩陣),一個是矩陣的逆操作(得到逆矩陣)。
①.先看下數學上怎麼定義轉置矩陣的:
將矩陣的行列互換得到的新矩陣稱爲轉置矩陣,轉置矩陣的行列式不變。
這裏我用4x4矩陣演示一下,因爲三維圖形開發中使用4x4矩陣。
同時轉置矩陣有以下的運算性質:
前三個應該不難理解,可能一眼就看出來了,第四個運算性質要稍微演示一下:
第四個公式推導,可以用4x4矩陣推算一下,因爲我們三維圖形學中基本也就只用4x4矩陣了,推導一遍可以加深印象。
然後將推導過程印在腦海裏,後面碰到相關計算就能一目瞭然了。
②再來看看數學上怎麼定義逆矩陣的:
存在矩陣M以及矩陣N,假如M*N = 矩陣I(Identify Matrix單位矩陣),那麼矩陣M和矩陣N互爲逆矩陣。
那麼逆矩陣又有哪些運算性質呢?如下:
第一個一目瞭然了。
第二個稍微需要描敘一下:
第三個可能也需要推算一下:
好,到這裏,轉置矩陣和逆矩陣的常用公式性質都演示了一遍,順便說下爲什麼要觀察學習這兩個矩陣操作呢?或者說這兩個矩陣操作具體有什麼用呢?就爲了好玩推出一些稀奇古怪的公式定理?nonono,這和後面需要在三維圖形學中的特異空間推導有極大關係,這裏先提前做好知識儲備工作,後面就來上實際的CG shader應用。
so,我們接下來繼續。