GAMES101-现代计算机图形学入门
Day01-线性代数基础
文章目录
一、前言
这个专栏的博客是我们学校实验老师建议我们去学习,原视频教学在B站,可以直接搜的到。
我在这里将我学习的知识进行总结,供大家参考。
二、向量的描述
数学中习惯称为向量,物理中习惯称为矢量,两者都是同一个东西,一般的写法是
或者粗体的a,或者用起点和终点表示:
向量最重要的两个属性就是方向和长度,而且向量没有绝对的起始位置,也就相当于不管你怎么平移也好,也没有改变它的相对位置。
表示向量的大小(长度)。
单位向量,是一个大小为1的向量,使用
表示,用来表示方向,在图形学中经常使用单位向量来表示方向。
三、向量的加法
向量的加法使用平行四边形法则或者三角形法则来计算,转换成几何上的理解,抑或是简单的添加坐标。来表示。
使用多个正交的X、Y向量表示向量A。
一般情况下默认一个向量是一个列向量
使用转置矩阵将列向量转置成行向量
可以使用
来计算向量的长度,在坐标系中能更加方便的计算长度。
四、向量的点乘
向量的点乘可以使用
来表示,向量的点乘最后得到的是一个数
点乘可以快速的得到两个向量的夹角
如果是单位向量,那么就更加容易得到两个向量的夹角。
向量的点乘有下列三个运算规律
向量的点乘在笛卡尔坐标系下的计算
在二维的情况下:
在三维的情况下:
在图形学中最大的作用就是找到两个向量或两个方向之间的夹角,比如光照与物体表面的夹角余弦值。
一个向量在另一个向量上面的投影,例如:
使用上述方法进行计算模k,即向量b在向量a上的投影。
算出投影,可以把一个向量分解成平行和垂直两个方向。
在图形学中,可以用来计算两个向量有多么接近,即算出两个向量的点乘结果,根据点乘结果就可以判断两个向量是接近还是远离。
向量的点乘还可以判断向量的前与后的信息
如果一个向量的终点在垂直另一个向量的虚线以上,就可以判断这个向量跟另一个的向量方向是接近的,反之,则认为两个向量的方向基本相反,也可以通过点乘计算余弦值,判断正负。通过余弦值来判断两个向量的方向。
比如在图形学中使用向量的点乘来判断高光的范围,从1(重合)到0(垂直)再到-1(完全远离)。
五、向量的叉积
叉积正交于两个初始向量,方向由右手定则来确定。
如果我们要求a和b的叉积,用右手从a旋转到b方向,那么拇指所指方向就是这两个向量叉积得到的结果的方向
向量的叉积不满足向量的交换律,而且叉积得到的是向量,不是数。
建立一个三维直角坐标系,然后用向量的叉积求出z轴的方向,已知任意两个轴的方向都能求出第三个轴的方向。
坐标系分为左右手坐标系,例如使用x叉乘y得到是右手坐标系,反过来用y叉乘x得到的就是左手坐标系。一般都使用的是右手坐标系。
向量的叉乘属性有:
向量的叉乘在笛卡尔坐标系上的计算
也可以写成矩阵的模式结果也是一样
在图形学中叉积的作用,可以判断左和右或者内与外
例如,如何判断向量b在向量a的左侧还是右侧
使用向量a叉乘向量b,得到向量z是正数,大于0,所以在左侧。
还有,如何判断p点是否在三角形内部
首先先用向量AB叉乘向量AP,得到结果向外,所以说p点在向量AB的左侧
然后使用向量BC叉乘向量BP,得到结果向外,所以说p点在向量BC的左侧
最后使用向量CA叉乘向量CP,得到结果向外,所以说p点在向量CA的左侧
综合考虑,p点就在三角形的内部。
对于任何三角形,只有全在三条边的左侧或者右侧才能判断在三角形的内侧。
六、正交基和坐标系
3个向量的任意集合
向量u,v,w都是单位向量
定义这个坐标系之后就可以把任意向量分解到这三个轴上去,通过投影来得到
七、矩阵的描述
在图形学中,矩阵广泛的用于表示转换平移,选择,剪切和缩放
矩阵就是数字数组(m×n=m行,n列)
矩阵对标量的加法和乘法就是矩阵里面的每一个数都加或者乘以这个数
八、矩阵的乘积
通过乘积中的元素(i,j)为A的第i行和B的第j列的点积来计算结果
矩阵乘积的性质:没有任何交换律,一般情况下AB不等于BA
矩阵的结合律和分配律都具有
九、矩阵向量乘法
将向量视为列矩阵再计算
关于y轴的二维反射
十、矩阵的转置
矩阵的转置就是把行和列互换(ij->ji)
矩阵乘积的转置性质:
十一、单位矩阵的乘积和逆
单位矩阵一般用I来表示
性质:
矩阵的逆
十二、矩阵形式的向量乘法
点乘:
叉乘:
十三、最后我想说
这个专栏的博客的话,更新速度可能有点慢了,但是我还是会持续更新的,总结的也有点简单没有过多的描述,希望大家见谅,本人精力有限,哈哈哈。
谢谢大家!