SlideShare une entreprise Scribd logo
1  sur  4
單元 1
矩陣 – 基本
作者:王聖川
矩陣(Matrix)代表一群數字的集合,一般以二維陣列的形式來存取集合中的
數字元素,一個矩陣通常以 m-by-n Matrix 或 Matrix(m, n)來表示,其中 m 為行數
(row)、n 為列數(column),如下圖。
而 Matrix[I, j]或 Matrixi, j 可用來表示矩陣中第 i-th row 中的第 j-th column 的數
字元素。因為在電腦圖學(Computer Graphics)領域中,常用到的矩陣只有 4-by-4
Matrix 與 4-by-1 Vector-Matrix 此二種形式矩陣,所以接下來介紹的矩陣相關資訊
都將只討論此二種類型矩陣之間的運算方式
註 1。
4-by-4 Matrix 矩陣可表示如下
[
A1,1 A1,2 A1,3 A1,4
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
A4,1 A4,2 A4,3 A4,4]
4-by-1 Vector 向量可表示如下
[
A1,1
A2,1
A3,1
A4,1]
接下來簡單說明幾個基本的矩陣計算方式。就像數字的運算有加、減、乘、除一
樣,矩陣是一群數字的集合,一樣有對應的加法、乘法等運算方式,來達到每個
數字元素的計算。
加法:
矩陣加法必須在兩個有相同行列數的矩陣上才能運算,計算方式就是每個對應的
數字做加法運算,下面公式表式兩個矩陣的相加 A(4,4) + B(4,4),其中每個對應元
素的計算方式為(A + B)I,j = Ai,j + Bi,j
[
A + B1,1 A + B1,2 A + B1,3 A + B1,4
A + B2,1 A + B2,2 A + B2,3 A + B2,4
A + B3,1 A + B3,2 A + B3,3 A + B3,4
A + B4,1 A + B4,2 A + B4,3 A + B4,4]
=
[
A1,1 + B1,1 A1,2 + B1,2 A1,3 + B1,3 A1,4 + B1,4
A2,1 + B2,1 A2,2 + B2,2 A2,3 + B2,3 A2,4 + B2,4
A3,1 + B3,1 A3,2 + B3,2 A3,3 + B3,3 A3,4 + B3,4
A4,1 + B4,1 A4,2 + B4,2 A4,3 + B4,3 A4,4 + B4,4]
純數乘矩陣:
矩陣可以整體乘上一個單一純數,也就是每個元素數字都做該純數的乘法,及計
算結果如下。
[
A1,1 ∗ scale A1,2 ∗ scale A1,3 ∗ scale A1,4 ∗ scale
A2,1 ∗ scale A2,2 ∗ scale A2,3 ∗ scale A2,4 ∗ scale
A3,1 ∗ scale A3,2 ∗ scale A3,3 ∗ scale A3,4 ∗ scale
A4,1 ∗ scale A4,2 ∗ scale A4,3 ∗ scale A4,4 ∗ scale]
矩陣相乘:
兩個矩陣的乘法必須符合一個條件:左運算元矩陣的列數(column)與右運算元矩
陣的行數相等(row),其對應數字元素之乘法運算過程為
A(m, n) ∗ B(n,m) → A ∗ B[i, j] = ∑ Ai,r
𝑛
𝑟=1
∗ Br,j
A 矩陣的第 i 行(i-th row)與 B 矩陣的第 j 列(j-th column)做內積運算(dot product),
所得結果便是 A 矩陣乘上 B 矩陣之[I,j]元素數字乘法結果。A(m1,n)與 B(n,m2)兩
矩陣相乘會得到新的矩陣 C(m1,m2)。
如上圖,C(4,3) = A(4,2) * B(2,3),其中 C[2,3] = ∑ A2,r ∗ Br,3
2
r=1
矩陣向量相乘:
矩陣乘上向量其實就等於是 A(4,4) * B(4.1) = B’(4,1) 的一個矩陣相乘運算。
A
[
A1,1 A1,2 A1,3 A1,4
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
A4,1 A4,2 A4,3 A4,4]
∗ B
[
B1,1
B2,1
B3,1
B4,1]
=
B′
[
A1,1 ∗ B1,1 + A1,2 ∗ B2,1 + A1,3 ∗ B3,1 + A1,4 ∗ B4,1
A2,1 ∗ B1,1 + A2,2 ∗ B2,1 + A2,3 ∗ B3,1 + A2,4 ∗ B4,1
A3,1 ∗ B1,1 + A3,2 ∗ B2,1 + A3,3 ∗ B3,1 + A3,4 ∗ B4,1
A4,1 ∗ B1,1 + A4,2 ∗ B2,1 + A4,3 ∗ B3,1 + A4,4 ∗ B4,1]
轉置矩陣:
轉置(Transpose)也是常用的一種矩陣運算,該運算便是讓矩陣的列與行彼此互換。
Ai,j
T
= Aj,i
[
A1,1 A1,2 A1,3 A1,4
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
A4,1 A4,2 A4,3 A4,4]
Transpose
=
[
A1,1 A2,1 A3,1 A4,1
A1,2 A2,2 A3,2 A4,2
A1,3 A2,3 A3,3 A4,3
A1,4 A2,4 A3,4 A4,4]
註 1:在 Computer Graphics 領域中,常把向量資料定義為 4 個數字的向量(4-by-1
Matrix),如座標(X,Y,Z,W)與顏色(R,G,B,A)等,而之後在做一些轉換運算時,將轉換
所需要的矩陣運算都推導為 4-by-4 Matrix 的型式,如此便能統一整個繪圖流程
(Rendering Pipeline)的運算過程,都是 4-by-4 的矩陣乘矩陣或是矩陣乘向量之運
算。因此顯示卡晶片(Graphics Processor Unit, GPU)中 Register 常設計為 32bit 或
128bit,所以適合用來儲存 4 個數字(浮點數)的向量資料,並且會針對上述提到
的矩陣與向量之間的運算做特別設計,達到矩陣運算加速的目的。
註 2:事實上在 Computer Graphics 的繪圖流程中,所有的處理對象都是矩陣。螢
幕顯示畫面為一個 width-by-height 的矩陣所代表的記憶體空間(Frame Buffer),而
畫面上每個像素(Pixel)也是一以向量資料來表示顏色[Red, Green, Blue, Alpha];空
間中的每個頂點座標可以如此表示[X, Y, Z, 1],空間中的方向則可如此表示[X, Y, Z,
0],頂點或方向的變化要靠各種轉換矩陣的相乘運算達成(Transformation Matrix)。
這也是當初電影駭客任務命名(The Matrix)的由來之一,電影表示未來人類都活在
電腦族群由 Matrix(母體)運算出來的模擬世界夢境中。
部份圖文參考網站:
http://en.wikipedia.org/wiki/Matrix_(mathematics)

Contenu connexe

Tendances

Tissue Expanders in OMFS
Tissue Expanders in OMFSTissue Expanders in OMFS
Tissue Expanders in OMFSRoger Paul
 
Worksheet finding interior angles of triangles
Worksheet finding interior angles of trianglesWorksheet finding interior angles of triangles
Worksheet finding interior angles of trianglesMathDebate
 
Eb7 final exam 2014
Eb7 final exam  2014Eb7 final exam  2014
Eb7 final exam 2014zeinabze
 
11ª lista de exercícios de geometria
11ª lista de exercícios de  geometria11ª lista de exercícios de  geometria
11ª lista de exercícios de geometriaProfessor Carlinhos
 
Fiche 1 de revision eb9
Fiche 1 de revision eb9Fiche 1 de revision eb9
Fiche 1 de revision eb9zeinabze
 
Reconstruction of cleft lip and palate defect
Reconstruction of cleft lip and palate defectReconstruction of cleft lip and palate defect
Reconstruction of cleft lip and palate defectAmin Abusallamah
 

Tendances (11)

Đề Thi HK2 Toán 6 - THCS Trần Văn Quang
Đề Thi HK2 Toán 6 - THCS Trần Văn QuangĐề Thi HK2 Toán 6 - THCS Trần Văn Quang
Đề Thi HK2 Toán 6 - THCS Trần Văn Quang
 
Trigo functions
Trigo functionsTrigo functions
Trigo functions
 
Tissue Expanders in OMFS
Tissue Expanders in OMFSTissue Expanders in OMFS
Tissue Expanders in OMFS
 
Neck Dissection.pptx
Neck Dissection.pptxNeck Dissection.pptx
Neck Dissection.pptx
 
Worksheet finding interior angles of triangles
Worksheet finding interior angles of trianglesWorksheet finding interior angles of triangles
Worksheet finding interior angles of triangles
 
Eb7 final exam 2014
Eb7 final exam  2014Eb7 final exam  2014
Eb7 final exam 2014
 
11ª lista de exercícios de geometria
11ª lista de exercícios de  geometria11ª lista de exercícios de  geometria
11ª lista de exercícios de geometria
 
VESSEL ligation
VESSEL ligationVESSEL ligation
VESSEL ligation
 
Fiche 1 de revision eb9
Fiche 1 de revision eb9Fiche 1 de revision eb9
Fiche 1 de revision eb9
 
Đề Thi HK2 Toán 6 - THCS Nguyễn Đức Cảnh
Đề Thi HK2 Toán 6 - THCS Nguyễn Đức CảnhĐề Thi HK2 Toán 6 - THCS Nguyễn Đức Cảnh
Đề Thi HK2 Toán 6 - THCS Nguyễn Đức Cảnh
 
Reconstruction of cleft lip and palate defect
Reconstruction of cleft lip and palate defectReconstruction of cleft lip and palate defect
Reconstruction of cleft lip and palate defect
 

En vedette

Shader forge設定說明文件
Shader forge設定說明文件Shader forge設定說明文件
Shader forge設定說明文件River Wang
 
2017 unity5 manual_intro
2017 unity5 manual_intro2017 unity5 manual_intro
2017 unity5 manual_introRiver Wang
 
[breakdown] Shadow of the Colossus. (Chinese translation中譯)
[breakdown] Shadow of the Colossus. (Chinese translation中譯)[breakdown] Shadow of the Colossus. (Chinese translation中譯)
[breakdown] Shadow of the Colossus. (Chinese translation中譯)River Wang
 
2017 unity5.5 manual_physics
2017 unity5.5 manual_physics2017 unity5.5 manual_physics
2017 unity5.5 manual_physicsRiver Wang
 
2017 unity5.5 manual_animation
2017 unity5.5 manual_animation2017 unity5.5 manual_animation
2017 unity5.5 manual_animationRiver Wang
 
2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigationRiver Wang
 

En vedette (7)

矩陣 轉換
矩陣   轉換矩陣   轉換
矩陣 轉換
 
Shader forge設定說明文件
Shader forge設定說明文件Shader forge設定說明文件
Shader forge設定說明文件
 
2017 unity5 manual_intro
2017 unity5 manual_intro2017 unity5 manual_intro
2017 unity5 manual_intro
 
[breakdown] Shadow of the Colossus. (Chinese translation中譯)
[breakdown] Shadow of the Colossus. (Chinese translation中譯)[breakdown] Shadow of the Colossus. (Chinese translation中譯)
[breakdown] Shadow of the Colossus. (Chinese translation中譯)
 
2017 unity5.5 manual_physics
2017 unity5.5 manual_physics2017 unity5.5 manual_physics
2017 unity5.5 manual_physics
 
2017 unity5.5 manual_animation
2017 unity5.5 manual_animation2017 unity5.5 manual_animation
2017 unity5.5 manual_animation
 
2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation
 

Plus de River Wang

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxRiver Wang
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptxRiver Wang
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-introRiver Wang
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performanceRiver Wang
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學River Wang
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelRiver Wang
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)River Wang
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewRiver Wang
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesRiver Wang
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsRiver Wang
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataRiver Wang
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFRiver Wang
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationRiver Wang
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesRiver Wang
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程River Wang
 

Plus de River Wang (15)

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptx
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-intro
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performance
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate model
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical Overview
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core Objects
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling Data
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAF
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: Visualization
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation Classes
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
 

Dernier

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 

Dernier (6)

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 

矩陣 基本說明

  • 1. 單元 1 矩陣 – 基本 作者:王聖川 矩陣(Matrix)代表一群數字的集合,一般以二維陣列的形式來存取集合中的 數字元素,一個矩陣通常以 m-by-n Matrix 或 Matrix(m, n)來表示,其中 m 為行數 (row)、n 為列數(column),如下圖。 而 Matrix[I, j]或 Matrixi, j 可用來表示矩陣中第 i-th row 中的第 j-th column 的數 字元素。因為在電腦圖學(Computer Graphics)領域中,常用到的矩陣只有 4-by-4 Matrix 與 4-by-1 Vector-Matrix 此二種形式矩陣,所以接下來介紹的矩陣相關資訊 都將只討論此二種類型矩陣之間的運算方式 註 1。 4-by-4 Matrix 矩陣可表示如下 [ A1,1 A1,2 A1,3 A1,4 A2,1 A2,2 A2,3 A2,4 A3,1 A3,2 A3,3 A3,4 A4,1 A4,2 A4,3 A4,4] 4-by-1 Vector 向量可表示如下 [ A1,1 A2,1 A3,1 A4,1] 接下來簡單說明幾個基本的矩陣計算方式。就像數字的運算有加、減、乘、除一
  • 2. 樣,矩陣是一群數字的集合,一樣有對應的加法、乘法等運算方式,來達到每個 數字元素的計算。 加法: 矩陣加法必須在兩個有相同行列數的矩陣上才能運算,計算方式就是每個對應的 數字做加法運算,下面公式表式兩個矩陣的相加 A(4,4) + B(4,4),其中每個對應元 素的計算方式為(A + B)I,j = Ai,j + Bi,j [ A + B1,1 A + B1,2 A + B1,3 A + B1,4 A + B2,1 A + B2,2 A + B2,3 A + B2,4 A + B3,1 A + B3,2 A + B3,3 A + B3,4 A + B4,1 A + B4,2 A + B4,3 A + B4,4] = [ A1,1 + B1,1 A1,2 + B1,2 A1,3 + B1,3 A1,4 + B1,4 A2,1 + B2,1 A2,2 + B2,2 A2,3 + B2,3 A2,4 + B2,4 A3,1 + B3,1 A3,2 + B3,2 A3,3 + B3,3 A3,4 + B3,4 A4,1 + B4,1 A4,2 + B4,2 A4,3 + B4,3 A4,4 + B4,4] 純數乘矩陣: 矩陣可以整體乘上一個單一純數,也就是每個元素數字都做該純數的乘法,及計 算結果如下。 [ A1,1 ∗ scale A1,2 ∗ scale A1,3 ∗ scale A1,4 ∗ scale A2,1 ∗ scale A2,2 ∗ scale A2,3 ∗ scale A2,4 ∗ scale A3,1 ∗ scale A3,2 ∗ scale A3,3 ∗ scale A3,4 ∗ scale A4,1 ∗ scale A4,2 ∗ scale A4,3 ∗ scale A4,4 ∗ scale] 矩陣相乘: 兩個矩陣的乘法必須符合一個條件:左運算元矩陣的列數(column)與右運算元矩 陣的行數相等(row),其對應數字元素之乘法運算過程為 A(m, n) ∗ B(n,m) → A ∗ B[i, j] = ∑ Ai,r 𝑛 𝑟=1 ∗ Br,j A 矩陣的第 i 行(i-th row)與 B 矩陣的第 j 列(j-th column)做內積運算(dot product), 所得結果便是 A 矩陣乘上 B 矩陣之[I,j]元素數字乘法結果。A(m1,n)與 B(n,m2)兩 矩陣相乘會得到新的矩陣 C(m1,m2)。
  • 3. 如上圖,C(4,3) = A(4,2) * B(2,3),其中 C[2,3] = ∑ A2,r ∗ Br,3 2 r=1 矩陣向量相乘: 矩陣乘上向量其實就等於是 A(4,4) * B(4.1) = B’(4,1) 的一個矩陣相乘運算。 A [ A1,1 A1,2 A1,3 A1,4 A2,1 A2,2 A2,3 A2,4 A3,1 A3,2 A3,3 A3,4 A4,1 A4,2 A4,3 A4,4] ∗ B [ B1,1 B2,1 B3,1 B4,1] = B′ [ A1,1 ∗ B1,1 + A1,2 ∗ B2,1 + A1,3 ∗ B3,1 + A1,4 ∗ B4,1 A2,1 ∗ B1,1 + A2,2 ∗ B2,1 + A2,3 ∗ B3,1 + A2,4 ∗ B4,1 A3,1 ∗ B1,1 + A3,2 ∗ B2,1 + A3,3 ∗ B3,1 + A3,4 ∗ B4,1 A4,1 ∗ B1,1 + A4,2 ∗ B2,1 + A4,3 ∗ B3,1 + A4,4 ∗ B4,1] 轉置矩陣: 轉置(Transpose)也是常用的一種矩陣運算,該運算便是讓矩陣的列與行彼此互換。 Ai,j T = Aj,i [ A1,1 A1,2 A1,3 A1,4 A2,1 A2,2 A2,3 A2,4 A3,1 A3,2 A3,3 A3,4 A4,1 A4,2 A4,3 A4,4] Transpose = [ A1,1 A2,1 A3,1 A4,1 A1,2 A2,2 A3,2 A4,2 A1,3 A2,3 A3,3 A4,3 A1,4 A2,4 A3,4 A4,4] 註 1:在 Computer Graphics 領域中,常把向量資料定義為 4 個數字的向量(4-by-1 Matrix),如座標(X,Y,Z,W)與顏色(R,G,B,A)等,而之後在做一些轉換運算時,將轉換 所需要的矩陣運算都推導為 4-by-4 Matrix 的型式,如此便能統一整個繪圖流程 (Rendering Pipeline)的運算過程,都是 4-by-4 的矩陣乘矩陣或是矩陣乘向量之運 算。因此顯示卡晶片(Graphics Processor Unit, GPU)中 Register 常設計為 32bit 或 128bit,所以適合用來儲存 4 個數字(浮點數)的向量資料,並且會針對上述提到 的矩陣與向量之間的運算做特別設計,達到矩陣運算加速的目的。 註 2:事實上在 Computer Graphics 的繪圖流程中,所有的處理對象都是矩陣。螢
  • 4. 幕顯示畫面為一個 width-by-height 的矩陣所代表的記憶體空間(Frame Buffer),而 畫面上每個像素(Pixel)也是一以向量資料來表示顏色[Red, Green, Blue, Alpha];空 間中的每個頂點座標可以如此表示[X, Y, Z, 1],空間中的方向則可如此表示[X, Y, Z, 0],頂點或方向的變化要靠各種轉換矩陣的相乘運算達成(Transformation Matrix)。 這也是當初電影駭客任務命名(The Matrix)的由來之一,電影表示未來人類都活在 電腦族群由 Matrix(母體)運算出來的模擬世界夢境中。 部份圖文參考網站: http://en.wikipedia.org/wiki/Matrix_(mathematics)