叉積向量也被叫做向量,是指乙個包含了模長和方向的
有向線段標量是只有模沒有方向。
向量和標量的區別
向量表達的是,從這裡向東走500公尺
標量表達的則是,距離這裡500公尺
向量的模指的是這個是向量的長度。乙個模的長度可以是任意的非負數
kv=(kvx,kvykvz)
即:5(1,2,3)=(51,52,5*3)=(5,10,15)
//向量乘法向量和標量可以互換
v/k=((vx,vy,vz)/k)=(vx/k,vy/k,vz/k)
即:(1,2,3)/5=(1/5,2/5,3/5)=(0.2,0.4,0.6)
//只能向量除標量 標量除向量沒有意義
a+b=(ax+bx,ay+by,az+bz)
a-b=(ax-bx,ay-by,az-bz)
減法:可用於計算位移
加法:計算向量a的尾到向量b的頭的乙個新的向量
向量的模長=|a|=√(ax
2+ay
2+az
2)即;
(1,2,3)=√(12+22+32)=√14≈3.741
單位向量指的是模長為1的向量,單位向量也被稱為歸一化向量對給定任何的非0向量,將其轉化成單位向量的過程就被稱為歸一化
單位向量=v/|v|=(ax+ay+az)/√(ax
2+ay
2+az
2)即:
(3,-4)/|(3,-4)|=(3,-4)/√(32+(-4)2)=(3,-4)/√25=(3,-4)/5=(3/5,-4/5)=(0.6,0.8)
向量之間也可以進行乘法,但是和標量的乘法有很大不同,向量的乘法有兩種最常見的種類點積和叉積
點積也被稱為內積
叉積也被稱為外積
公式一:
kv=(kx,ky,kz)*(vx, vy,vz)=kx*vx +ky*vy+kz*vz
在幾何上可以用於求一條線到另一條線的陰影(投影)
公式二:
kv=|k||v|cosθ
\theta
θ可以用於求兩條線的角度
公式二求導:
因為c2=a2+b2+2|a||b|cosθ
\theta
θ兩點間距離為a-b
即c2=(a-b)(a-b)=aa+bb-2ab
對比得到公式二
公式一:
kv=(ky*vz-kz*vy,kz*vx-kx*vz,kx*vy-ky*vx)
叉積的結果可以得到乙個同時垂直於這兩個向量的新向量(新向量的正負值可以用於計算正反面)
公式二:
kv=|k||v|sinθ
\theta
θ
UnityShader中的數學(矩陣)
ps 本文章摘取自 unityshader入門精要 一書。unity matrix mvp 把模型空間座標轉換為裁剪空間座標 unity matrix mv 把模型空間座標轉換為觀察空間座標 unity matrix v 把世界空間座標轉換為觀察空間座標 unity matrix p 把觀察空間座標...
unity Shader基礎光照
一 光 1 輻射度 用來量化光。對於平行光來說,輻射度可以通過計算在垂直於l的單位面積上單位時間內穿過的能量來得到。2 散射和吸收 光線和物體相交會發生的現象。散射 只改變光線的方向,不改變光線的密度和顏色。散射後兩個方向 折射和反射。在關照模型中,高光反射部分體現反射,漫反射部分體現折射 吸收 只...
Unity Shader (六)基礎光照
一 輻照度 q1.如何量化光?a 用輻照度irradiance。q2 什麼是輻照度?圖中a點單位時間內穿過的能量就是輻照度。q2 怎麼計算輻照度呢?上圖中cos 值就是輻照度。0 時,cos 1,也就是說光線垂直於物體表面時,輻照度最大。越大,表示光線越不垂直,輻照度越小。二 吸收和散射 學過基礎光...