第二節(jié) 向量與線性代數(shù)入門

1向量 verctors


image.png

沒有絕對的起始結(jié)束位置
表示方向和長度

image.png

單位向量: 提個長度為1的向量
單位向量 = a向量 / a向量的長度
圖形學(xué)中用來表示方向

向量常見的基本操作

求和這里有兩種不同的解釋 一個平行四邊形法則 一個三角形法則

1平行四邊形法則:可以吧a b都放在一個起點上 然后對應(yīng)的平移 得到平行四邊形 鏈接就是相加結(jié)果

2三角形法則: 要相加就把所有的向量首尾相接起來 第一個的開始和最后一個的結(jié)束相連就是相加結(jié)果

image.png

3代數(shù)理解
同樣描述一個向量a (4,3)
這里用笛卡爾坐標系描述一個向量,將起點永遠設(shè)為原點伤柄,沿X有一些單位向量吩屹,y同理 向量的結(jié)果可以表示為 nX+pY 通常 x y 互相垂直切單位長度相等把篓。好處是可以直接用數(shù)字表示 (4,3) 有4個x3個y
圖形學(xué)中默認這個向量是個列向量 左下角
也可以變成行向量 A^t 轉(zhuǎn)至向量
這樣的好處是算向量長度很簡單信姓。代數(shù)形式非常有助于計算長度

image.png

向量的其他計算:點乘叉乘

點乘

image.png

向量的點乘的意義:


image.png

點乘最后結(jié)果會得到一個數(shù)
也就是兩個向量點乘后會得到一個數(shù)

常見的應(yīng)用
兩邊都除以 a 的單位向量和 b的單位向量祝闻,得


image.png

可以快速得到 兩個向量夾角的余弦

當兩個都是單位向量時



會更快

image.png

點乘的基本屬性:

滿足交換律 結(jié)合律 分配率

image.png

在笛卡爾坐標系下 點乘的運算會更加簡單 如圖
這個道理可以從二維擴展到高維


image.png

點乘在圖形學(xué)中最大的作用就是找到兩個向量 方向間的夾角

image.png

也可以用于計算兩個向量的投影

現(xiàn)在有a b 兩個向量 要算b在a上的投影
既然是b在a上的投影 必然是沿著a向量
那么一定等于 a的單位向量乘以一個長度 k
而k = b的長度 * cosθ * a的單位向量
cosθ我們之前已經(jīng)知道如何計算 所以就可以得到 改投影向量

image.png

那么我們有了該投影只有最大的好處就是 可以將改向量分解為兩個向量(平行四邊形法則) 有了投影向量就可以得到另一個垂直于改向量的向量寄疏。

1.點乘可以快速的將一個向量分解為平行與垂直的分解
2.可以算兩個向量有多么接近(點乘結(jié)果)
3.還可以告訴大家一個關(guān)于前與后的信息

image.png

有給定方向的向量a 我們可以用a的起點向整個上面方向探過去和下面探過去會形成兩個半圓
一部分是上半部分一個是下半部分 如果一個向量和a在同一起點終點落在上半圓 那么我們就說a 和該向量方向基本相同(b向量) 如果在下半部分則基本相反(c向量)

我們?nèi)绻?a點乘b 會得到一個 >0的結(jié)果
如果用a點乘c 會得到一個 <0 的結(jié)果
如果正好在徐線上瞧栗,會得到一個 == 0 的結(jié)果
也就是點乘可以告訴我們 一個方向性 兩個的方向是否基本用一致

cos函數(shù)圖像

接近的應(yīng)用:例如看鏡子 有光打在了鏡子上如果正好在反射方向看可以看到一個很亮的點 如果不在這個方向上看就看不到
對于金屬而言 入射光達到金屬 會發(fā)射 在鏡面反射方向的周圍 都屬于高光范圍 距離范圍遠就看不到了

叉乘

image.png
image.png

輸入兩個向量a b 得到第三個向量伴榔,同時垂直于前兩個向量

長度為
image.png

而方向來說需要依靠右手定則 右手四指頭微彎曲 方向為 第一個向量 指向 第二個向量 的方向 大拇指的方向就是垂直的結(jié)果 而反過來叉乘則得到 一個相反的方向

所以 a x b = - b x a

如果 x軸叉乘y軸得到的是z軸正方向纹蝴,則說明是右手坐標系

左側(cè):
在三維系中給定了x y 軸,相互叉乘可以得到對應(yīng)的坐標軸
如果在一個坐標系中 x 叉乘 y == z 那么說這是一個右手坐標系(滿足右手定則) 如果 x 叉乘 y = - z 則是左手坐標系
一般常用右手坐標系 圖形學(xué)中
右側(cè):幾個常用的性質(zhì)

1 不滿足交換律
2 自己叉乘自己得到一個0向量
因為長度等于


image.png

兩向量相同 sinθ == 0 得到 0向量(無論如何叉乘的結(jié)果都是一個向量)

3 分配率滿足
4 結(jié)合律滿足(重要 可以減少計算量 加快計算速度)

image.png

叉乘用代數(shù)形式計算

上半部分 得到一個向量 笛卡爾坐標形式

下半部分 之后會講到

可以吧向量a寫成一個 對應(yīng)的矩陣 再用這個矩陣去誠意向量b 同樣可以得到該結(jié)果

image.png

叉乘在圖形學(xué)中的作用
1 判定左和右
2 判定內(nèi)與外

例子如下

image.png

左半部分:
有兩個向量 a b 如何判斷b是否在a的左側(cè)?
用a 叉乘b 得到的結(jié)果的 z值 是正的 說明b在a的左側(cè)
反過來 b叉乘a 得到一個一個向量的z值 為負 說明在右側(cè)

右半部分:
有一個三角形 a b c 判斷p是否在三角形的內(nèi)部
分別看 (ab ap) (bc bp) (ca cp) 是否p點的向量都在左側(cè) (或者說 結(jié)果都在同一側(cè)(左側(cè)或右側(cè))踪少,如果結(jié)果不都在同一側(cè) 則說明在外部) 此方法適用于任何的凸多邊形

拓展來說塘安,這一點非常重要 這就是之后做三角形光柵化的基本 要判斷三角形內(nèi)有哪些像素 就需要計算給定的像素是否在三角形的內(nèi)部 然后對內(nèi)部的進行著色 對于的結(jié)果是0的 在圖形學(xué)中叫做 corner case 邊界情況,算在內(nèi)測還是外側(cè) 自己決定

然后我們可以通過上面的知識來定義一些不同的坐標系等


image.png

例如 用叉乘可以定義一些互相垂直的軸援奢,這些軸就會形成 一個坐標系

image.png

假如我們定義一個三維坐標系

給到 u v w三個單位向量
且相互點乘 == 0
w = u 叉乘 v
這樣得到的結(jié)果自然就是一個右手的 三維直角坐標系兼犯。
這樣的好處是 我們可以把任意的一個向量 p 分解到這三個對應(yīng)的軸上去


image.png

(注意這里 u v w是單位向量 如果不是需要再轉(zhuǎn)換一下)

那么我們就可以將 p 向量從 p u v w 四個向量同在的一個坐標系中 轉(zhuǎn)換為 u v w坐標系中的表示形式

矩陣

image.png

1 幾乎所有的計算機課都會涉及到矩陣的一些操作 都很困擾
2 圖形學(xué)中 普遍應(yīng)用于一些基礎(chǔ)變換
移動 旋轉(zhuǎn) 裁切 縮放

image.png

矩陣就是一堆安排在n行m列的一個數(shù)組 a[m][n]

乘一個數(shù)很簡單 就講矩陣中的每個數(shù)乘以該數(shù)字

image.png

矩陣之間的乘積有一個必須的前提要求 就是

A X B ==> A的行數(shù) 必須等于 B的列數(shù) 否則不能相乘


image.png

也就是N必須相等 結(jié)果為 a[M][P]

image.png

運算方法如下
res[i][j] = A的i行 點乘 b的第j列

A X B = C, C[i][j] = A[row i] 點乘 B[column j]
A的第i行點乘 B的第j列

image.png

矩陣乘積的性質(zhì)

1 不滿足交換律(除特殊情況)
2 結(jié)合律滿足(十分重要,這里設(shè)置到多個矩陣相乘時通過結(jié)合律可以改變先后相乘順序 例如 ABCD == A(B(CD))這樣可能會大大減少運算量。)
3 分配律滿足

image.png

矩陣如何乘以一個列向量
矩陣在左邊 向量在右邊(列向量)
或者是 行向量 向量在左邊 矩陣在右邊
還是必須滿足 [a,M] X [M, b] M必須相等

這是變換的關(guān)鍵 (向量變換)


image.png

一個最簡單的變換集漾,對二維坐標系上的任何一個向量切黔,按照y軸做一個對稱操作 就可以用這樣一個
變換矩陣(左邊的)就可以將 x 變?yōu)?-x


image.png

矩陣的轉(zhuǎn)置操作

就是把行和列變換 如上, 由 ab 變?yōu)?ba
矩陣的轉(zhuǎn)置有一個性質(zhì)
兩個矩陣的相乘后轉(zhuǎn)置 等于 后一個矩陣轉(zhuǎn)置 乘以 前一個矩陣轉(zhuǎn)置(方向掉了過來)

image.png

特殊的矩陣 單位矩陣 是一個對角陣切對角元素都為1

1 任何矩陣乘以單位矩陣都是其本身
2 定義矩陣的逆
如果你能找到另一個矩陣 乘以原矩陣(不論順序) 結(jié)果為一個單位矩陣 則兩個矩陣是互逆的

image.png

成績的逆也是 兩個翻過來的逆再相乘

image.png

向量的點乘叉乘的矩陣寫法形式
a向量點乘b向量 == a轉(zhuǎn)置(行向量) 成 列向量 b ==> 結(jié)果為一個數(shù)

叉乘同樣具篇,將 a 向量重新組織為 A* 矩陣 再去乘以b向量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纬霞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子驱显,更是在濱河造成了極大的恐慌诗芜,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埃疫,死亡現(xiàn)場離奇詭異绢陌,居然都是意外死亡,警方通過查閱死者的電腦和手機熔恢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臭笆,“玉大人叙淌,你說我怎么就攤上這事〕钇蹋” “怎么了鹰霍?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長茵乱。 經(jīng)常有香客問我茂洒,道長,這世上最難降的妖魔是什么瓶竭? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任督勺,我火速辦了婚禮渠羞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘智哀。我一直安慰自己次询,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布瓷叫。 她就那樣靜靜地躺著屯吊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摹菠。 梳的紋絲不亂的頭發(fā)上盒卸,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音次氨,去河邊找鬼蔽介。 笑死,一個胖子當著我的面吹牛糟需,可吹牛的內(nèi)容都是我干的屉佳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼洲押,長吁一口氣:“原來是場噩夢啊……” “哼武花!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杈帐,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤体箕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挑童,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體累铅,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年站叼,在試婚紗的時候發(fā)現(xiàn)自己被綠了娃兽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡尽楔,死狀恐怖投储,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阔馋,我是刑警寧澤玛荞,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站呕寝,受9級特大地震影響勋眯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一客蹋、第九天 我趴在偏房一處隱蔽的房頂上張望塞蹭。 院中可真熱鬧,春花似錦嚼酝、人聲如沸浮还。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钧舌。三九已至,卻和暖如春涎跨,著一層夾襖步出監(jiān)牢的瞬間洼冻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工隅很, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留撞牢,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓叔营,卻偏偏與公主長得像屋彪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绒尊,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容