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

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

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

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

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

1.向量的点乘
计算机图形学入门-1.向量与线性代数基础_第1张图片

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

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

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

两个作用:
1.算夹角,先算cos,再反cos,右边是如果求两个单位向量的余弦
2.算b在a上的投影
应用:得到一个向量3个u,v,w轴的投影
计算机图形学入门-1.向量与线性代数基础_第4张图片

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

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

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

叉乘
计算机图形学入门-1.向量与线性代数基础_第6张图片

a叉乘b的方向:使用右手螺旋定则a旋转到b,拇指是结果的方向,图中是向上
而b叉乘a的方向:使用b旋转到a,拇指是向下
计算机图形学入门-1.向量与线性代数基础_第7张图片

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

作用:
1.求出两个向量组成平面的法线
2.判断出这个向量在向量的左侧还是右侧的
计算机图形学入门-1.向量与线性代数基础_第8张图片

比如我们给出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,可以要也可以不要

矩阵

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

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

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

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

转置矩阵:行列调换
计算机图形学入门-1.向量与线性代数基础_第10张图片

单位矩阵,矩阵的逆
计算机图形学入门-1.向量与线性代数基础_第11张图片

很简单吧

你可能感兴趣的:(计算机图形学入门,图形学,线性代数)