闫令琪GAMES101笔记 计算机图形学介绍与线性代数基础

Lecture 01 Overview of Computer Graphics

[课程链接]https://www.bilibili.com/video/BV1X7411F744
老师课讲的非常好!没看过的一定要看一下!

Lecture 02 Review of Linear Algebra

向量的定义

Vector.png

向量默认为列向量,方便与矩阵进行计算

向量的重要属性

  • 方向
  • 长度
  • 不关心起始位置
  • 长度为1的向量叫做单位向量

向量的点乘

dot.png

向量的点乘 能解决的问题

  • 计算两个向量之间的夹角
  • 计算A向量在B向量的方向上的投影
  • 计算出投影后,就可以把向量分解成2个向量,一个跟B向量平行,一个垂直
  • 判断前和后

向量的叉乘

cross.png

在老师的课中,默认右手定则,也就是OpenGl所使用的
叉积得出来的是一个新的向量,这个向量会与原来的向量垂直

向量的叉乘 能解决的问题

  • 得出法线
  • 判定左和右
  • 判定内与外
cross_in_graphics.png

判定左和右

如果 AXB 得出的向量的Z是正的,则表示A在B的右边

判定内和外

AB X AP 和 BC X BP 和 CA X CP
(因为三角形的顶点排列顺序, ABC和ACB 顺时针与逆时针,得出来的左右不一样)
3次叉乘得出来,表示都在左或者都在右(也就是z的符号相同),则表示P点在三角形ABC中
(如果得出来的结果为0,就自己决定吧,统一好项目里的规范即可)

矩阵的定义

matrix.png

矩阵的乘法

matrix_multi.png
  • 矩阵没有交换律
  • 第一个矩阵的列数要等于第二个矩阵的行数,才可以相乘
  • 结果中 i 行 j 列的值,为A矩阵的i行的向量点乘B矩阵j列的向量(老师再也不用担心我们记不住了)

你可能感兴趣的:(闫令琪GAMES101笔记 计算机图形学介绍与线性代数基础)