OpenGL應用開發 矩陣

2021-07-17 02:51:07 字數 2284 閱讀 7448

矩陣是一種具有m行n列的多維陣列,矩陣的行和列指定了矩陣的維度,矩陣中的每個原始通過行和列下標來進行元素的訪問

1、方陣方陣是一種行和列相同的矩陣。

方陣的對角元素是指行和列下標都相同的元素,其他都是非對角元素

2、對角矩陣

當除開對角元素外其他元素都是0則稱這種矩陣為對角矩陣

3、單位矩陣

單位矩陣是一種特殊的對角矩陣,只是單位矩陣的對角元素的的值全部為1,並且單位矩陣的對角線值正好與向量的每個分量相乘。

單位矩陣與任何矩陣相乘,結果都是原來的矩陣

當乙個矩陣只有一行多列時,我們可以將這個矩陣看做是乙個行向量,矩陣的每一列就相當於向量的乙個分量,同理當以矩陣只有一列多行時,我們可以將這個矩陣看做是乙個列向量,向量的矩陣的每一行就相當於是向量的乙個分量。

矩陣的轉置就是將矩陣的行和列相互轉化

矩陣用於對向量進行變換,多個矩陣相乘就是將多個變換效果進行組合

矩陣相乘的計算規則,使用左邊矩陣的行乘右邊矩陣的列:

兩個矩陣能夠相乘的規則 :

當矩陣a與矩陣b相乘時,只有當矩陣a的列數與矩陣b的行數相同則這兩個矩陣就能夠相乘

列如下圖兩個矩陣就不能相乘:

列如下圖兩個矩陣能夠相乘:

矩陣相乘的一些規則:

1、行向量與矩陣向量相乘時行向量在左邊,矩陣在右邊,運算規則是

將行向量看做是乙個 1xn的矩陣然後進行運算。

2、列向量與矩陣相乘時則把列向量看做是乙個nx1的矩陣,然後矩陣在左邊列向量在右邊之後再進行運算。

在矩陣運算中沒有矩陣之間的除法運算,但提供了矩陣的逆,矩陣的逆提供了變化向量的逆向變化。

判斷乙個矩陣是否有逆矩陣的一些規則:

1、 只有方陣才具有逆矩陣

2、矩陣的行列式不等於零時,矩陣的逆矩陣存在

矩陣的行列式演算法規則:

代數餘代子式:

代數余子式是將乙個矩陣的第i行和第j列的全部元素去除掉以後組成的乙個新的矩陣,然後在求解這個矩陣的有符號行列式值。

計算公式為:

代數餘代子式矩陣:

代數餘代子式矩陣中的每個元素的值等於將該元素所在位置的代數餘代子式。

標準伴隨矩陣:

我們將乙個矩陣的代數餘代子式矩陣的轉置矩陣定義為這個矩陣的標準伴隨矩陣。

我們現在就可以求出上圖中m矩陣的標準伴隨矩陣:

逆矩陣的求解

當知道乙個矩陣的標準伴隨矩陣之後就可以求出這個矩陣的代數逆矩陣了,根據公式 :

m的逆矩陣 = m的標準伴隨矩陣 / m矩陣的行列式

逆矩陣的重要性質 :

乙個逆矩陣m 乘以原來的矩陣結果為乙個單位矩陣。

正交矩陣 :

判斷乙個矩陣是否為正交矩陣的條件為 :

1、他是乙個方針

2、矩陣的每一行和每一列都是乙個單位向量

3、每行和每列都相互垂直,即行與列向量之間的點積為0

正交矩陣的特點 :

乙個正交矩陣的轉置矩陣為它的逆矩陣。

i為乙個單位矩陣

OpenGL應用開發 紋理

在進行模型渲染的時候為了使模型看起來更加的逼真,細節更加的真實我們使用紋理貼在物體的表面。使用紋理我們可以不用再為每個頂點指定顏色,通過紋理對映到頂點上然後對紋理進行操作,和配色。然模型顯得更加的漂亮 真實。為了能夠使紋理能夠正確的對映到模型的每乙個頂點上,在我們定義模型座標時,額外還要指定每個頂點...

OpenGL應用開發 向量

向量是一種具有大小和方向的數學列表 向量的大小代表了向量本身的長度,而向量的方向描述了指向的方位。通常向量使用乙個帶有箭頭的線段來表示乙個向量,線段的長度則是向量的大小,箭頭則表示向量的方向 因此向量可以用來表示位移 速度 角色的觀察方向 光線傳播方向 光反射方向等 在數學書寫上通過使用乙個方括號括...

opengl 矩陣變換

opengl 矩陣變換 opengl 座標系的變換如下圖 我們給我們的圖形,設定好頂點座標後,通過model matrix 變換為世界座標,然後 view matrix相機座標,projection matrix 螢幕座標x,y 1,1 矩陣變換的結果是把三維的世界最終裁剪為二維的螢幕,數學的說法就...