写在开头:
感谢钊爷,3d老头子,咸鱼佬 ,qiusong哥哥 给我解惑线性代数!同样感谢漂亮的女班长 !
该文献资料大多来源于网路,只做个人学习整理使用。。
一流程序员靠数学,二流靠算法,三流靠逻辑,四流靠SDK,五流靠Google和StackOverFlow,六流靠百度和CSDN。
笛卡儿坐标系:
看看人家,躺床上琢磨苍蝇的轨迹也能琢磨出一个二维坐标系...
二维笛卡儿坐标系:
三维笛卡儿坐标系:
分为了两种不同类型 :左手坐标系,右手坐标系
同样旋转正方向要遵循 :左右手法则
标量和向量vector :
标量: 也称为纯量,就是只有个量值, 没有方向...(比如:我家离公司十万八千里)
向量(矢量):有模和方向 (比如: 我以每秒80迈狂奔向西边食堂)
矢量运算:
1.向量和标量的乘除:
为啥不能加减?很简单,因为时间跟速度加不起来...
公式:
几何意义:对向量进行为一个标量大小的缩放
2.向量的加减:
公式:
几何意义:位移!(比方说位移到a的头又移到b的头,就是一个a的尾到b的头的a+b的位移)
3.求向量的模 :
公式:
几何意义: 模是个啥!就是求向量的长度!
4.单位向量 :
公式:
几何意义:主要是因为只关心方向(比如灯光方向,法线方向),不关心模的长短(值的大小)。。所以会用到归一化
拉到0-1的范围内,做个一个标准的单位。单位向量*n,就代表单位向量在这个方向的缩放。
(比如normal 它是0-255 ,但在shader里要压缩-1到1)
三角函数的定义及公式:
5.向量的点积 dot :
两向量相乘,最终计算结果是标量!!!
公式 1 :
公式 2 :
几何意义:计算两个向量之间的夹角,以及在b向量在a向量方向上的投影 !
经典案例:Normal Dot Light
向量关系:
a·b>0 方向基本相同,夹角在0°到90°之间
a·b=0 正交,相互垂直
a·b<0 方向基本相反,夹角在90°到180°之间
6.向量的叉积 cross :
叉积叉积,他的符号就是个X ! 计算结果还是向量!!!
公式 :
几何意义:叉乘结果与a和b向量都垂直!
最常见就是计算垂直于一个平面,三角形的向量(比如法线方向);
还有判断三角面片的朝向;
在二维空间中,aXb等于由向量a和向量b构成的平行四边形的面积。