GAMES101 Lecture 02 Review of Linear Algebra
Lecture 02 Review of Linear Algebra
图形学的依赖
基础数学
- 线性代数
- 微积分
- 统计学
基础物理
- 光学
- 力学
杂项
- 信号处理
- 数值分析
一点美学
向量
(数学上称为向量,物理上称为矢量)
向量表示方向和长度
向量的大小
单位向量
向量求和
几何上
平行四边形法则、三角形法则
代数上
Cartesian Coordinates(笛卡尔坐标系)
坐标相加
在图形学中,默认向量为列向量
点乘
在图形学中
-
可以用向量算出这两个向量的夹角余弦,进而得到夹角
-
将一个向量任意地进行垂直于平行的分解
-
两个向量点乘结果可以得知它们的方向有多么接近
结果越接近1方向越接近,越接近0越垂直,越接近-1越反向
-
向量点乘的正负可以获知两个向量前与后的信息
结果大于0同向
结果等于0垂直
结果小于0反向
向量的点乘最终结果是一个数
对于单位向量
性质
在2D中
在3D中
叉乘
-
可用于建立三维空间的直角坐标系
-
判定左和右 (如
)叉乘结果大于0,则b在a左侧,反之在右侧(左手坐标系)
-
判断内和外(三角形光栅化的基础)
假设有A、B、C三个点逆时针排列,
向量叉乘的结果为向量,与两个原向量垂直,方向可应用右手螺旋定则,四指方向从a旋转到b,拇指方向为叉乘结果向量方向
性质
*若一个向量叉乘自己,得到的是长度为0的向量,而不是0
*若xy叉乘为z,则为右手坐标系,反之为左手坐标系
- OpenGL为右手坐标系(Z轴向外)
- DirextX为左手坐标系(Z轴向内)
- Vulkan为右手坐标系(Y轴向下)
- Metal为左手坐标系(Z轴向内)
- Unity和Unreal为左手坐标系(同DX)
以矩阵的形式
矩阵
矩阵乘矩阵
性质
-
无交换律,
-
结合律和分配律
(AB)C = A(BC)
A(B+C) = Ab + AC
(A+B)C = AC + BC
矩阵乘向量
将向量视为列矩阵
别的操作
转置
转换行和列(ij->ji)
性质
单位矩阵
对角阵只有对角线上有非0的元素,单位矩阵为对角线上全是1的对角阵
向量的点乘与叉乘的矩阵形式
-
点乘
-
叉乘
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!