计算机图形学入门-1.向量与线性代数基础

Posted mr.chenyuelin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机图形学入门-1.向量与线性代数基础相关的知识,希望对你有一定的参考价值。

b站闫令琪的:https://www.bilibili.com/video/BV1X7411F744?p=3点这里

上面b站up主将特别详细,本文做总结罢了

之前也看学过opengl,一些shader啥的,可发现异常的困难,原来是少这方面的知识

OpenGL,directx 是图形学的一个api
光栅化:是将三维空间的几何形体显示在平面上

1.向量的点乘

点乘满足交换律,结合律,分配律

两个作用:
1.算夹角,先算cos,再反cos,右边是如果求两个单位向量的余弦
2.算b在a上的投影
应用:得到一个向量3个u,v,w轴的投影

3.点乘的结果可以说明两个向量方向有多接近,当两个都是单位向量,就会-在-1到1之间

比如,有一道光照道镜子上,它会反射一道光出去,如果我们从反射光的这个方向附近看镜子,就会看到高光,如果我们离得远就看不到高光

叉乘

a叉乘b的方向:使用右手螺旋定则a旋转到b,拇指是结果的方向,图中是向上
而b叉乘a的方向:使用b旋转到a,拇指是向下

右手螺旋定则就是右手坐标系,叉乘满足结合律。分配律,不符合交换律

作用:
1.求出两个向量组成平面的法线
2.判断出这个向量在向量的左侧还是右侧的

比如我们给出a,b向量,如果a叉乘b的结果向量z为正,则b在a的左侧,b叉乘结果向量z为负,则a在b右侧

3.外面判断出这个点在三角形的内部,还是外部,只要这个点与对应点组成的向量在3个向量同一侧,

比如三角形ABC逆时针排布,向量AP在向量AB的左侧,BP在bc左侧,cp在ac左侧,AP叉乘AB结果为正,bp叉乘bc也为正,cp叉乘ca为正,则p在三角形内部,如果p在ac右侧,则cp与ca叉乘结果为负

当光栅化阶段,这个像素是否在三角形内部,内部的点是需要的,而外部的点是不需要的,边缘的点也就是叉乘为0,可以要也可以不要

矩阵

矩阵相乘的条件:第一个矩阵的列数等于第二个矩阵的行数

所以比如结果第3行第1列的值=是找第一个矩阵第3行和第二个矩阵第1列

矩阵不满足交换律,满足分配律和结合律

转置矩阵:行列调换

单位矩阵,矩阵的逆

很简单吧

以上是关于计算机图形学入门-1.向量与线性代数基础的主要内容,如果未能解决你的问题,请参考以下文章

计算机图形学入门-1.向量与线性代数基础

计算机图形学-矩阵基础

游戏图形学入门知识整理

3D计算机图形学的目录

虎书学习笔记2:图形学基础数学(向量点积叉积)

《计算机图形学基础》之变换矩阵