SlideShare a Scribd company logo
單元 2
矩陣 – 轉換
作者:王聖川
矩陣主要應用在線性代數的運算上,而在電腦圖學領域中,矩陣是不可或缺
的一個元素,因為它實現了各式各樣的轉換運算(Transformation),如空間中物體
移動的轉換(移動 Translation 與旋轉 Rotation)、物體比例的縮放(Scale)、任意空間
座標軸系統的轉換(Arbitrary Orthogonal Coordinate Space)、三維幾何投影到二維
平面(Projection)等等。
此單元接下來就解釋轉換矩陣(Transformation Matrix)是怎麼運作的。轉換矩
陣就是經由特定形式設計的矩陣,以乘法計算出特定目的之轉換結果。首先來回
顧矩陣乘向量的公式:
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]
上述公式亦可解釋為 F( Bi,1 ) = B’i,1 = a * Bi,1 + b * Bi,1 + c * Bi,1 + d * Bi,1;
其中 a = Ai,1、b = Ai,2、c = Ai,3、d = Ai,4。i = 1 ~ 4。
接著介紹一些基本最常用的轉換矩陣,第一個要介紹的單位矩陣(Identity
Matrix),單位矩陣簡單來說就是乘上它之後會做白工的矩陣註 1,也就是向量 B 乘
上單位矩陣後的結果還是向量 B,單位矩陣的形式如下:
I [
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
]
此矩陣乘法的計算過程詳列如下:
I [
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
] ∗ B
[
B1,1
B2,1
B3,1
B4,1]
=
[
1 ∗ B1,1 + 0 ∗ B2,1 + 0 ∗ B3,1 + 0 ∗ B4,1
0 ∗ B1,1 + 1 ∗ B2,1 + 0 ∗ B3,1 + 0 ∗ B4,1
0 ∗ B1,1 + 0 ∗ B2,1 + 1 ∗ B3,1 + 0 ∗ B4,1
0 ∗ B1,1 + 0 ∗ B2,1 + 0 ∗ B3,1 + 1 ∗ B4,1]
= B
[
B1,1
B2,1
B3,1
B4,1]
平移矩陣(Translation Matrix)是為達到在三維空間中對某目標點做移動一指
定距離之目的而產生的矩陣,該矩陣的形式如下所示:
T [
1 0 0 Tx
0 1 0 Ty
0 0 1 Tz
0 0 0 1
]
其中 Tx, Ty, Tz 分別代表三維空間中 X, Y, Z 三軸方向上的移動距離。下面以向量 B
代表空間中的一個點座標:
B⃑⃑ = [
X
Y
Z
1
]
向量 B 乘上平移矩陣的計算過程詳列如下:
T [
1 0 0 Tx
0 1 0 Ty
0 0 1 Tz
0 0 0 1
] ∗ B⃑⃑ [
X
Y
Z
1
] = [
1 ∗ X + 0 ∗ Y + 0 ∗ Z + Tx ∗ 1
0 ∗ X + 1 ∗ Y + 0 ∗ Z + Ty ∗ 1
0 ∗ X + 0 ∗ Y + 1 ∗ Z + Tz ∗ 1
0 ∗ X + 0 ∗ Y + 0 ∗ Z + 1 ∗ 1
] = B′⃑⃑⃑ [
X + Tx
Y + Ty
Z + Tz
1
]
縮放矩陣(Scaling Matrix)是為了在三維空間中 X, Y, Z 三軸方向上將座標值依
指定的比例縮放的目的而產生的矩陣,該矩陣的形式如下:
S [
Sx 0 0 0
0 Sy 0 0
0 0 Sz 0
0 0 0 1
]
其中 Sx, Sy, Sz 分別代表空間中 X, Y, Z 三軸方向上的縮放比例。在此同樣以向量 B
示範一次矩陣乘法的計算過程,如下所示:
S [
Sx 0 0 0
0 Sy 0 0
0 0 Sz 0
0 0 0 1
] ∗ B⃑⃑ [
X
Y
Z
1
] = [
Sx ∗ X + 0 ∗ Y + 0 ∗ Z + 0 ∗ 1
0 ∗ X + Sy ∗ Y + 0 ∗ Z + 0 ∗ 1
0 ∗ X + 0 ∗ Y + Sz ∗ Z + 0 ∗ 1
0 ∗ X + 0 ∗ Y + 0 ∗ Z + 1 ∗ 1
] = B′⃑⃑⃑ [
Sx ∗ X
Sy ∗ Y
Sz ∗ Z
1
]
旋轉矩陣(Rotation Matrix),主要為了旋轉一個點座標之目的而產生,但因為
旋轉轉換的數學計算過程較為複雜,所以接下來要先解釋二維空間的旋轉運作過
程,再推導出三維空間中較單純的旋轉矩陣應用。首先來討論二維空間中的一個
點繞著原點旋轉的案例:已知一點 P(X, Y),該點到原點(0, 0)連成的線與 X 軸形成
一個夾角 θ,當 P 點繞著原點旋轉一個角度 α,便得到點 P’(X’, Y’),而點 P’與原
點連成的線與 X 軸便形成一新的夾角 θ+α,如下圖所示:
已知 r 是 P 點到原點距離,由圓的公式我們可以推導出:
註 2
X = r ∗ cosθ
Y = r ∗ sin θ
X′
= r ∗ cos(θ + α) = r ∗ cosθ ∗ cosα − r ∗ sinθ ∗ sinα
Y′
= r ∗ sin(θ + α) = r ∗ sinθ ∗ cosα + r ∗ cosθ ∗ sinα
上面的公式將X = r ∗ cos θ與Y = r ∗ sin θ代入,便可推導出二維旋轉的一般公
式:
X′
= X ∗ cosα − Y ∗ sin α
Y′
= Y ∗ cosα + X ∗ sin α
得到二維旋轉公式後我們接著討論簡單的三維旋轉案例,也就是三維空間中
任意一點 P(X, Y, Z),以原點(0, 0, 0)維旋轉中心,繞著 X, Y, Z 三軸之任一軸旋轉一
角度 θ。如果空間中一個點繞著 Z 軸旋轉,那麼其實旋轉後的點座標只有 X 和 Y
座標值有改變,因為 Z 座標值必須維持不變才能繞著 Z 軸旋轉(如下圖所示)。
所以其實繞著 Z 軸旋轉的案例就跟上面談到的二維旋轉案例是很接近的,因此導
出公式如下:
P′ [
X′
Y′
Z′
1
] = [
X ∗ cosα − Y ∗ sin α
X ∗ sin α + Y ∗ cosα
Z
1
]
P’(X’, Y’, Z’)點是由 P(X, Y, Z)點以原點為中心繞著 Z 軸旋轉 α 角度後的位置。為了
符合上述公式的計算,進而推導出繞著 Z 軸旋轉的三維旋轉矩陣,其形式如下:
RZ [
cosα − sin α 0 0
sin α cosα 0 0
0 0 1 0
0 0 0 1
]
接著討論三維空間中任意點繞著 Y 軸旋轉的案例,同樣地在此情況下,X 與 Z 的
座標值會因為旋轉而改變,但 Y 座標值維持不變,而之前二維旋轉中 X 座標值的
計算公式需對應到 Z 座標值上,Y 座標值的計算公式則是對應到 X 座標值上,請
看下圖所示:(因此時 Z 軸對應到二維空間中的 X 軸;X 軸則對應到二維空間中的
Y 軸)
因此我們推導出繞著 Y 軸旋轉之公式如下:
P′ [
X′
Y′
Z′
1
] = [
X ∗ cosα + Z ∗ sin α
Y
−X ∗ sin α + Z ∗ cosα
1
]
進而推導出繞著 Y 軸旋轉的三維旋轉矩陣之形式如下:
RY [
cosα 0 sin α 0
0 1 0 0
− sin α 0 cosα 0
0 0 0 1
]
同理我們再來看三維空間中繞著 X 軸旋轉的案例,X 軸座標值維持不變,Y 座標
值的旋轉計算對應到二維旋轉中的 X 座標值計算公式,Z 座標值的旋轉計算則對
應到二維旋轉中的 Y 座標值計算公式,如下圖所示:
因此我們可推導出繞著 X 軸旋轉之公式如下:
P′ [
X′
Y′
Z′
1
] = [
X
Y ∗ cosα − Z ∗ sin α
Y ∗ sin α + Z ∗ cosα
1
]
進而我們可推導得到三維空間中繞著 X 軸旋轉之旋轉矩陣形式如下:
RX [
1 0 0 0
0 cosα − sin α 0
0 sin α cos α 0
0 0 0 1
]
註1:單位矩陣(Identity Matrix)是一個讓我們計算完矩陣乘法後會做白工的矩陣,
沒事要提這個矩陣做什麼?其實單位矩陣的存在就好像純數中 0 相對於加減法
的應用,還有 1 相對於乘除法的應用一樣,它是為了計算後仍保持原狀而存在的
矩陣,這一點對於一個繪圖系統(顯示卡/顯示晶片)的運作尤其重要,因為硬體無
法有效率地執行條件式的指令,所以你要告訴硬體某些狀況下不要做轉換矩陣的
相乘跟你請硬體直接做一次轉換矩陣的相乘但結果不變,此二種方式比起來,後
者要比前者有效率多了,因此單位矩陣之重要不言可喻。
註 2:旋轉公式的推導,其中我跳過了一些三角函式的推導,所以有些人可能覺
得二維旋轉公式的推導有點不順或看不懂,因本人對三角函式也忘的差不多了
XD,所以就請有興趣的人去請教 Google/Wiki 大神吧。
註 3:單元 1 和 2 提到的矩陣運算都是以”行”為主要計算方式為前提下推導出來
的(Row-Major),有些人在網路上看到的旋轉矩陣可能會跟我在此寫出來的矩陣
長的不太一樣,可能網路上看到的是以”列”為主要計算方式為前提推導出來的
(Column-Major)。當然也有可能同樣以 Row-Major 為前提去推導,但是推導時矩
陣和向量的相乘順序不同,所以矩陣自然就長的不一樣(差一次轉置矩陣運算),
這一點也跟矩陣計算中交換律並不成立的原因有關,也就是矩陣 A*矩陣 B 不保
證等於矩陣 B*矩陣 A。

More Related Content

What's hot

Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
Kimikazu Kato
 
静岡点群データをマインクラフト化
静岡点群データをマインクラフト化静岡点群データをマインクラフト化
静岡点群データをマインクラフト化
Yochuke Oko
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
京大 マイコンクラブ
 
[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介
Deep Learning Lab(ディープラーニング・ラボ)
 
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
cvpaper. challenge
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
Ryutaro Yamauchi
 
DLLAB Healthcare Day 2020 機械学習による健康・疾患状態の層別化と予測
DLLAB Healthcare Day 2020  機械学習による健康・疾患状態の層別化と予測DLLAB Healthcare Day 2020  機械学習による健康・疾患状態の層別化と予測
DLLAB Healthcare Day 2020 機械学習による健康・疾患状態の層別化と予測
Deep Learning Lab(ディープラーニング・ラボ)
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
nonane
 
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
Concent, Inc.
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
Toru Tamaki
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
Masaki Hayashi
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)
Youichiro Miyake
 
機械学習向けCGデータの量産手法の検討
機械学習向けCGデータの量産手法の検討機械学習向けCGデータの量産手法の検討
機械学習向けCGデータの量産手法の検討
Silicon Studio Corporation
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
Kenji Hiranabe
 
ワークショップ「問いの技法」/第4回 Xデザインフォーラム
ワークショップ「問いの技法」/第4回 Xデザインフォーラムワークショップ「問いの技法」/第4回 Xデザインフォーラム
ワークショップ「問いの技法」/第4回 Xデザインフォーラム
Takahito Kamihira
 
Cv20160205
Cv20160205Cv20160205
Cv20160205
Takanori Ogata
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
Shintaro Fukushima
 
事業計画 (ケース販売)
事業計画 (ケース販売) 事業計画 (ケース販売)
事業計画 (ケース販売) 政和 高橋
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
Daisuke Takai
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
 

What's hot (20)

Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
静岡点群データをマインクラフト化
静岡点群データをマインクラフト化静岡点群データをマインクラフト化
静岡点群データをマインクラフト化
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
 
[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介[Track1-5] 製造業における最新AI適用事例のご紹介
[Track1-5] 製造業における最新AI適用事例のご紹介
 
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
DLLAB Healthcare Day 2020 機械学習による健康・疾患状態の層別化と予測
DLLAB Healthcare Day 2020  機械学習による健康・疾患状態の層別化と予測DLLAB Healthcare Day 2020  機械学習による健康・疾患状態の層別化と予測
DLLAB Healthcare Day 2020 機械学習による健康・疾患状態の層別化と予測
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
撮影ディレクション基本と実践 -心揺さぶるビジュアル開発の現場-
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)
 
機械学習向けCGデータの量産手法の検討
機械学習向けCGデータの量産手法の検討機械学習向けCGデータの量産手法の検討
機械学習向けCGデータの量産手法の検討
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
ワークショップ「問いの技法」/第4回 Xデザインフォーラム
ワークショップ「問いの技法」/第4回 Xデザインフォーラムワークショップ「問いの技法」/第4回 Xデザインフォーラム
ワークショップ「問いの技法」/第4回 Xデザインフォーラム
 
Cv20160205
Cv20160205Cv20160205
Cv20160205
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
 
事業計画 (ケース販売)
事業計画 (ケース販売) 事業計画 (ケース販売)
事業計画 (ケース販売)
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
 

Viewers also liked

Shader forge設定說明文件
Shader forge設定說明文件Shader forge設定說明文件
Shader forge設定說明文件
River Wang
 
2017 unity5 manual_intro
2017 unity5 manual_intro2017 unity5 manual_intro
2017 unity5 manual_intro
River Wang
 
矩陣 基本說明
矩陣   基本說明矩陣   基本說明
矩陣 基本說明
River Wang
 
2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation
River Wang
 
2017 unity5.5 manual_animation
2017 unity5.5 manual_animation2017 unity5.5 manual_animation
2017 unity5.5 manual_animation
River Wang
 
2017 unity5.5 manual_physics
2017 unity5.5 manual_physics2017 unity5.5 manual_physics
2017 unity5.5 manual_physics
River 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
 

Viewers also liked (7)

Shader forge設定說明文件
Shader forge設定說明文件Shader forge設定說明文件
Shader forge設定說明文件
 
2017 unity5 manual_intro
2017 unity5 manual_intro2017 unity5 manual_intro
2017 unity5 manual_intro
 
矩陣 基本說明
矩陣   基本說明矩陣   基本說明
矩陣 基本說明
 
2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation2017 unity5.5 manual_navigation
2017 unity5.5 manual_navigation
 
2017 unity5.5 manual_animation
2017 unity5.5 manual_animation2017 unity5.5 manual_animation
2017 unity5.5 manual_animation
 
2017 unity5.5 manual_physics
2017 unity5.5 manual_physics2017 unity5.5 manual_physics
2017 unity5.5 manual_physics
 
[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中譯)
 

Similar to 矩陣 轉換

第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件p26chan
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件p26chan
 
3 d碰撞检测
3 d碰撞检测3 d碰撞检测
3 d碰撞检测
eakind
 
2 2廣義角三角函數
2 2廣義角三角函數2 2廣義角三角函數
2 2廣義角三角函數leohonesty0814
 
電路學第七章 交流穩態分析
電路學第七章 交流穩態分析電路學第七章 交流穩態分析
電路學第七章 交流穩態分析
Fu Jen Catholic University
 
麻省教材 --Bstress梁的应力
麻省教材 --Bstress梁的应力麻省教材 --Bstress梁的应力
麻省教材 --Bstress梁的应力
amyang2012
 
Delta (rostock)
Delta (rostock)Delta (rostock)
Delta (rostock)
philippe_nuaa
 
201012 687
201012 687201012 687
201012 687axiuluo
 
11.第十一章用Matlab计算多元函数的积分
11.第十一章用Matlab计算多元函数的积分11.第十一章用Matlab计算多元函数的积分
11.第十一章用Matlab计算多元函数的积分Xin Zheng
 
Processing 03
Processing 03Processing 03
Processing 03
信嘉 陳
 
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE     A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE Jian Michael
 
06 计算机的运算方法03
06 计算机的运算方法0306 计算机的运算方法03
06 计算机的运算方法03Huaijin Chen
 
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
yantingguo2008
 
指考甲公式
指考甲公式指考甲公式
指考甲公式
zoayzoay
 
精密機械的空間軌跡精度光學檢測法_台大范光照
精密機械的空間軌跡精度光學檢測法_台大范光照精密機械的空間軌跡精度光學檢測法_台大范光照
精密機械的空間軌跡精度光學檢測法_台大范光照
CHENHuiMei
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
Pei-Che Chang
 
【統計】1001:第3章
【統計】1001:第3章【統計】1001:第3章
【統計】1001:第3章
怡安 陳
 

Similar to 矩陣 轉換 (20)

第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件
 
3 d碰撞检测
3 d碰撞检测3 d碰撞检测
3 d碰撞检测
 
2 2廣義角三角函數
2 2廣義角三角函數2 2廣義角三角函數
2 2廣義角三角函數
 
電路學第七章 交流穩態分析
電路學第七章 交流穩態分析電路學第七章 交流穩態分析
電路學第七章 交流穩態分析
 
麻省教材 --Bstress梁的应力
麻省教材 --Bstress梁的应力麻省教材 --Bstress梁的应力
麻省教材 --Bstress梁的应力
 
Delta (rostock)
Delta (rostock)Delta (rostock)
Delta (rostock)
 
Phy b13 1-2
Phy b13 1-2Phy b13 1-2
Phy b13 1-2
 
直线和圆
直线和圆直线和圆
直线和圆
 
201012 687
201012 687201012 687
201012 687
 
11.第十一章用Matlab计算多元函数的积分
11.第十一章用Matlab计算多元函数的积分11.第十一章用Matlab计算多元函数的积分
11.第十一章用Matlab计算多元函数的积分
 
Processing 03
Processing 03Processing 03
Processing 03
 
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE     A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
 
06 计算机的运算方法03
06 计算机的运算方法0306 计算机的运算方法03
06 计算机的运算方法03
 
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
福建省福州大学2019年暑假物理竞赛夏令营-物理奥赛进阶之路:0-1+微积分初步+40张ppt.pptx
 
Ch3
Ch3Ch3
Ch3
 
指考甲公式
指考甲公式指考甲公式
指考甲公式
 
精密機械的空間軌跡精度光學檢測法_台大范光照
精密機械的空間軌跡精度光學檢測法_台大范光照精密機械的空間軌跡精度光學檢測法_台大范光照
精密機械的空間軌跡精度光學檢測法_台大范光照
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
 
【統計】1001:第3章
【統計】1001:第3章【統計】1001:第3章
【統計】1001:第3章
 

More from River Wang

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptx
River Wang
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx
River Wang
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-intro
River Wang
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performance
River 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 model
River 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 Overview
River 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 & Nodes
River 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 Objects
River Wang
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling Data
River Wang
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAF
River Wang
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: Visualization
River Wang
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation Classes
River Wang
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
River Wang
 

More from 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: 電腦圖學繪圖流程
 

Recently uploaded

一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
ictglzse
 
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
微信 tytyqqww业务接单
 
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
微信 tytyqqww业务接单
 
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
微信 tytyqqww业务接单
 
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
Koong Lin
 
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
h0wovd5
 
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
微信 tytyqqww业务接单
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
h0wovd5
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
h0wovd5
 
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
微信 tytyqqww业务接单
 
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
微信 tytyqqww业务接单
 
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
h0wovd5
 
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
微信 tytyqqww业务接单
 

Recently uploaded (13)

一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
一比一原版(Ryerson毕业证书)瑞尔森大学毕业证成绩单如何办理
 
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
 
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
 
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
大学成绩修改,找黑客改分修改成绩单,挂科修改GPA成绩提高代考GMAT【微oojjiijj信】
 
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
 
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
一比一原版(Griffith毕业证书)格里菲斯大学毕业证成绩单
 
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证成绩单
 
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
 
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
 
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证书)昆士兰大学毕业证成绩单
 
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
 

矩陣 轉換

  • 1. 單元 2 矩陣 – 轉換 作者:王聖川 矩陣主要應用在線性代數的運算上,而在電腦圖學領域中,矩陣是不可或缺 的一個元素,因為它實現了各式各樣的轉換運算(Transformation),如空間中物體 移動的轉換(移動 Translation 與旋轉 Rotation)、物體比例的縮放(Scale)、任意空間 座標軸系統的轉換(Arbitrary Orthogonal Coordinate Space)、三維幾何投影到二維 平面(Projection)等等。 此單元接下來就解釋轉換矩陣(Transformation Matrix)是怎麼運作的。轉換矩 陣就是經由特定形式設計的矩陣,以乘法計算出特定目的之轉換結果。首先來回 顧矩陣乘向量的公式: 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] 上述公式亦可解釋為 F( Bi,1 ) = B’i,1 = a * Bi,1 + b * Bi,1 + c * Bi,1 + d * Bi,1; 其中 a = Ai,1、b = Ai,2、c = Ai,3、d = Ai,4。i = 1 ~ 4。 接著介紹一些基本最常用的轉換矩陣,第一個要介紹的單位矩陣(Identity Matrix),單位矩陣簡單來說就是乘上它之後會做白工的矩陣註 1,也就是向量 B 乘 上單位矩陣後的結果還是向量 B,單位矩陣的形式如下: I [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] 此矩陣乘法的計算過程詳列如下:
  • 2. I [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] ∗ B [ B1,1 B2,1 B3,1 B4,1] = [ 1 ∗ B1,1 + 0 ∗ B2,1 + 0 ∗ B3,1 + 0 ∗ B4,1 0 ∗ B1,1 + 1 ∗ B2,1 + 0 ∗ B3,1 + 0 ∗ B4,1 0 ∗ B1,1 + 0 ∗ B2,1 + 1 ∗ B3,1 + 0 ∗ B4,1 0 ∗ B1,1 + 0 ∗ B2,1 + 0 ∗ B3,1 + 1 ∗ B4,1] = B [ B1,1 B2,1 B3,1 B4,1] 平移矩陣(Translation Matrix)是為達到在三維空間中對某目標點做移動一指 定距離之目的而產生的矩陣,該矩陣的形式如下所示: T [ 1 0 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1 ] 其中 Tx, Ty, Tz 分別代表三維空間中 X, Y, Z 三軸方向上的移動距離。下面以向量 B 代表空間中的一個點座標: B⃑⃑ = [ X Y Z 1 ] 向量 B 乘上平移矩陣的計算過程詳列如下: T [ 1 0 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1 ] ∗ B⃑⃑ [ X Y Z 1 ] = [ 1 ∗ X + 0 ∗ Y + 0 ∗ Z + Tx ∗ 1 0 ∗ X + 1 ∗ Y + 0 ∗ Z + Ty ∗ 1 0 ∗ X + 0 ∗ Y + 1 ∗ Z + Tz ∗ 1 0 ∗ X + 0 ∗ Y + 0 ∗ Z + 1 ∗ 1 ] = B′⃑⃑⃑ [ X + Tx Y + Ty Z + Tz 1 ] 縮放矩陣(Scaling Matrix)是為了在三維空間中 X, Y, Z 三軸方向上將座標值依 指定的比例縮放的目的而產生的矩陣,該矩陣的形式如下: S [ Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1 ] 其中 Sx, Sy, Sz 分別代表空間中 X, Y, Z 三軸方向上的縮放比例。在此同樣以向量 B 示範一次矩陣乘法的計算過程,如下所示: S [ Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1 ] ∗ B⃑⃑ [ X Y Z 1 ] = [ Sx ∗ X + 0 ∗ Y + 0 ∗ Z + 0 ∗ 1 0 ∗ X + Sy ∗ Y + 0 ∗ Z + 0 ∗ 1 0 ∗ X + 0 ∗ Y + Sz ∗ Z + 0 ∗ 1 0 ∗ X + 0 ∗ Y + 0 ∗ Z + 1 ∗ 1 ] = B′⃑⃑⃑ [ Sx ∗ X Sy ∗ Y Sz ∗ Z 1 ]
  • 3. 旋轉矩陣(Rotation Matrix),主要為了旋轉一個點座標之目的而產生,但因為 旋轉轉換的數學計算過程較為複雜,所以接下來要先解釋二維空間的旋轉運作過 程,再推導出三維空間中較單純的旋轉矩陣應用。首先來討論二維空間中的一個 點繞著原點旋轉的案例:已知一點 P(X, Y),該點到原點(0, 0)連成的線與 X 軸形成 一個夾角 θ,當 P 點繞著原點旋轉一個角度 α,便得到點 P’(X’, Y’),而點 P’與原 點連成的線與 X 軸便形成一新的夾角 θ+α,如下圖所示: 已知 r 是 P 點到原點距離,由圓的公式我們可以推導出: 註 2 X = r ∗ cosθ Y = r ∗ sin θ X′ = r ∗ cos(θ + α) = r ∗ cosθ ∗ cosα − r ∗ sinθ ∗ sinα Y′ = r ∗ sin(θ + α) = r ∗ sinθ ∗ cosα + r ∗ cosθ ∗ sinα 上面的公式將X = r ∗ cos θ與Y = r ∗ sin θ代入,便可推導出二維旋轉的一般公 式: X′ = X ∗ cosα − Y ∗ sin α Y′ = Y ∗ cosα + X ∗ sin α 得到二維旋轉公式後我們接著討論簡單的三維旋轉案例,也就是三維空間中 任意一點 P(X, Y, Z),以原點(0, 0, 0)維旋轉中心,繞著 X, Y, Z 三軸之任一軸旋轉一 角度 θ。如果空間中一個點繞著 Z 軸旋轉,那麼其實旋轉後的點座標只有 X 和 Y 座標值有改變,因為 Z 座標值必須維持不變才能繞著 Z 軸旋轉(如下圖所示)。
  • 4. 所以其實繞著 Z 軸旋轉的案例就跟上面談到的二維旋轉案例是很接近的,因此導 出公式如下: P′ [ X′ Y′ Z′ 1 ] = [ X ∗ cosα − Y ∗ sin α X ∗ sin α + Y ∗ cosα Z 1 ] P’(X’, Y’, Z’)點是由 P(X, Y, Z)點以原點為中心繞著 Z 軸旋轉 α 角度後的位置。為了 符合上述公式的計算,進而推導出繞著 Z 軸旋轉的三維旋轉矩陣,其形式如下: RZ [ cosα − sin α 0 0 sin α cosα 0 0 0 0 1 0 0 0 0 1 ] 接著討論三維空間中任意點繞著 Y 軸旋轉的案例,同樣地在此情況下,X 與 Z 的 座標值會因為旋轉而改變,但 Y 座標值維持不變,而之前二維旋轉中 X 座標值的 計算公式需對應到 Z 座標值上,Y 座標值的計算公式則是對應到 X 座標值上,請 看下圖所示:(因此時 Z 軸對應到二維空間中的 X 軸;X 軸則對應到二維空間中的 Y 軸) 因此我們推導出繞著 Y 軸旋轉之公式如下: P′ [ X′ Y′ Z′ 1 ] = [ X ∗ cosα + Z ∗ sin α Y −X ∗ sin α + Z ∗ cosα 1 ] 進而推導出繞著 Y 軸旋轉的三維旋轉矩陣之形式如下: RY [ cosα 0 sin α 0 0 1 0 0 − sin α 0 cosα 0 0 0 0 1 ] 同理我們再來看三維空間中繞著 X 軸旋轉的案例,X 軸座標值維持不變,Y 座標 值的旋轉計算對應到二維旋轉中的 X 座標值計算公式,Z 座標值的旋轉計算則對
  • 5. 應到二維旋轉中的 Y 座標值計算公式,如下圖所示: 因此我們可推導出繞著 X 軸旋轉之公式如下: P′ [ X′ Y′ Z′ 1 ] = [ X Y ∗ cosα − Z ∗ sin α Y ∗ sin α + Z ∗ cosα 1 ] 進而我們可推導得到三維空間中繞著 X 軸旋轉之旋轉矩陣形式如下: RX [ 1 0 0 0 0 cosα − sin α 0 0 sin α cos α 0 0 0 0 1 ] 註1:單位矩陣(Identity Matrix)是一個讓我們計算完矩陣乘法後會做白工的矩陣, 沒事要提這個矩陣做什麼?其實單位矩陣的存在就好像純數中 0 相對於加減法 的應用,還有 1 相對於乘除法的應用一樣,它是為了計算後仍保持原狀而存在的 矩陣,這一點對於一個繪圖系統(顯示卡/顯示晶片)的運作尤其重要,因為硬體無 法有效率地執行條件式的指令,所以你要告訴硬體某些狀況下不要做轉換矩陣的 相乘跟你請硬體直接做一次轉換矩陣的相乘但結果不變,此二種方式比起來,後 者要比前者有效率多了,因此單位矩陣之重要不言可喻。 註 2:旋轉公式的推導,其中我跳過了一些三角函式的推導,所以有些人可能覺 得二維旋轉公式的推導有點不順或看不懂,因本人對三角函式也忘的差不多了 XD,所以就請有興趣的人去請教 Google/Wiki 大神吧。 註 3:單元 1 和 2 提到的矩陣運算都是以”行”為主要計算方式為前提下推導出來 的(Row-Major),有些人在網路上看到的旋轉矩陣可能會跟我在此寫出來的矩陣 長的不太一樣,可能網路上看到的是以”列”為主要計算方式為前提推導出來的 (Column-Major)。當然也有可能同樣以 Row-Major 為前提去推導,但是推導時矩 陣和向量的相乘順序不同,所以矩陣自然就長的不一樣(差一次轉置矩陣運算),