線代與計算機圖形(一)
現代很有趣我要轉專業了米娜桑
為什么是(一)呢,因為后面我還沒學 ,額,當然是因為不知道你們還想不想看這種型別的,這篇先講講大家都喜歡的 數學,
本人大一學生,最近開始學習線代,老師告訴我們矩陣最開始是為了解決方程組問題產生的,但它神奇的成為計算機處理圖形的十分有效的工具,對于矩陣的乘法有不同的理解方式,在這里我介紹和計算機圖形相關的理解方法,
一、矩陣乘法的理解
左乘一個矩陣的實質是把右側的向量映射到左乘的矩陣代表的坐標系中,本質上是一種坐標變換,
看一個例子,一段python代碼,
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.array([[2,0],[0,2]])
print(np.matmul(b,a))//矩陣乘法 矩陣b*矩陣a
輸出結果是
[[2 4]
[6 8]]
我們通常把列數為一的矩陣叫做向量,這也就決定了我們的坐標變換是右乘一個矩陣
其實右邊的矩陣是列向量集,也就是需要變換的坐標的集合,所以我們可以看到本來坐標為(1,3)的向量通過坐標變換變成了(2,6),同樣的(2,4)這個向量變成了(4,8),變換的結果是我們意料之中的,因為我們左乘的矩陣是系數矩陣(單位矩陣乘上某個常數),所以坐標是成2倍的擴大,
具體一點來看,這種變換實質就是基底的變換,比如(1,3)點基底選用的是i和j,i就對應著左乘矩陣的第一列,j就對應著左乘矩陣的第二列,也就是說左乘矩陣的第一行第二行分別對應著兩個新的基底,
左乘旋轉矩陣更好幫我們理解,如下:

左乘著個矩陣相當于把向量以遠點為圓心逆時針(因為人為規定這是正方向)旋轉θ度,可以自己動手做做,多加思考一下就可以理解,
二、行列式的本質
那么看到這里有好兄弟就會問了,我們做這樣的變換豈不是也會改變原來向量的大小,那么改變的這個大小具體是多少呢,不管你有沒有這樣的疑問,我都要說明:
其實左乘矩陣的行列式就是伸縮變換的擴大或者縮小的倍數,
那么你又會說了如果不是方陣呢?如果左乘矩陣不是方陣就意味著我們的坐標系變換是變換了維度的,也就意味著這種變換是不可逆的,
所以非方陣是沒有可逆矩陣的!!!
三、關計算機啥事
說到這里那么這些關計算機什么事呢……
計算機的3維繪圖中常常要用到矩陣變換,比如區域坐標系左乘平移矩陣變為世界坐標系,左乘旋轉矩陣可以繞著某一軸旋轉,還有正視投影矩陣、透視投影矩陣等等,以后有機會再寫吧,畢竟日語專業的學生首要任務是學日語 ,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278463.html
標籤:其他
上一篇:信號完整性之反射(二)
