Shader所需的数学基础笔记|点、矢量、标量
关于点、矢量、标量:
点—->(Point)是空间中的位置,无大小、宽度概念 二维点: P=(Px,Py) 三维点: P=(Px,Py,Pz)
矢量—->(Vector,数学也叫向量),矢量是空间中包含模和方向的有向线段。“速度”就是一种矢量(有方向,有速度),矢量一般用字母 “V” 表示
标量—->用通俗的说法,标量是只有大小,没有方向的量。“距离”就是一种标量矢量描述:
1.矢量的模指的是这个矢量的长度,矢量可以是任意的非负数
2.矢量的方向则描述了这个矢量在空间中的指向
3.矢量的表示方法与点类似,可以用 V=(x,y) 来表示二维矢量,用 V=(x,y,z) 表示三维矢量,用 V=(x,y,z,w) 来表示四维矢量
ps:点与矢量的关系:可以认为任何一个点都可以表示成一个从原点出发的矢量矢量运算:
矢量不能与标量进行相加/相减的运算(无法将速度和距离相加对吧?),但可以对他们进行相乘运算,结果可能是一个(长度不同,方向可能相反的…)新矢量乘法公式: ( k 代表标量
v 代表矢量)
kv=(kvx,kvy,kvz)
ps:对于乘法 矢量和标量可以互换矢量(v)也可以被一个非零的标量(k)除,等同于和这个标量的倒数相乘:
除法公式:
vk=(x,y,z)k=1k(x,y,z)=(xk,