【Unity Shader入門】Unity Shader概述:渲染流水線
【Unity Shader入門】Unity Shader基礎:ShaderLab
【Unity Shader入門】數學基礎:總結目錄
數學基礎:向量
前言
點和向量
介紹
點(point):是n維空間(遊戲中主要使用二維和三維空間)中的一個位置,它沒有大小、寬度這類概念。
向量(vector,也被稱爲矢量):是指n維空間中一種包含了模(magnitude)和方向(direction)的有向線段。速度(velocity)就是一種典型的向量。向量被用於表示相對於某個點的偏移,也就是說是一個相對量。
向量的模:指的是這個向量的長度。一個向量的長度可以是任意的非負數。
向量的方向:則描述了這個向量在空間中指向。
向量通常由一個箭頭表示
向量的頭(head):是它的箭頭所在的端點處。
向量的尾(tail):是另一個端點處。
只要向量的模和方向保持不變,無論在哪裏,都是同一個向量。
標量(scalar):只有模沒有方向。例如距離(distance)就是一種標量。
區別
向量可以用於表示相對於另一個點的位置,此時向量的尾是一個位置,那麼向量的頭就可以表示另一個位置了。如果我們把向量的尾固定在座標系原點,那麼這個向量的表示就和點的表示重合了。儘管點和向量在數學表達式上都是一樣的,但區分點和向量之間的不同是非常重要的。可以這樣理解,任何一個點都可以表示成一個從原點位置出發的向量。
點:沒有大小之分的空間中的位置
向量:有模和方向,但是沒有位置的量,相對量(可以描述相對位置),如果向量的頭尾都固定在座標系的原點,則這個向量就和點重合了。
向量運算
幾何意義
把一個向量和一個標量相乘,意味着對向量進行一個大小爲標量的縮放。
一個向量也可以被一個非零的標量除。這等同於和這個標量的倒數相乘。
注意:對於乘法來說,向量和標量的位置可以互換的。但對於除法,只能是向量被標量除,而不能是標量被向量除,這是沒有意義的。當k<0時,向量的方向也會取反。
例如,如果想把一個向量放大兩倍,就乘以2,。當標量小於0時,向量的方向也會相反。
向量的加法和減法
兩個向量進行相加或相減,其結果是一個相同維度的新向量。