OpenGL学习--向量与矩阵
2019-05-21 本文已影响0人
Harry_upup
向量

OpenGL math3d库
:库中有2个数据类型,表示三维或者四维向量。M3DVector3f
表示三维向量(x,y,z),M3DVector4f
表示一个四维向量(x,y,z,w),w表示缩放因子,典型情况下,w的坐标设为1.0,x,y,z值通过除以w,来进行缩放。
M3DVector3f vVector;//声明一个三分量向量
M3DVector4f vVector = {0.0f,0.0f,1.0f,1.0f};//声明四分量向量
M3DVector vVects[] = {
-0.5f,0.0f,0.0f,
0.5f,0.0f,0.0f,
0.0f,0.5f,0.0f
};//三分量顶点数组
点乘与叉乘
点乘运算返回2个向量之间的夹角
叉乘运算返回的是一个新的向量,这个新的向量与原来的的2个向量垂直。
矩阵
矩阵
是一个按照长方阵列排列的复数或实数的集合。image.png 另外注意的是
两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义
。
矩阵堆栈
可以理解成一个暂时存放矩阵的地方,通过压栈(pushMatrix)和出栈(popMatrix)进行操作。(通过压栈和出栈让每一次变换相互独立)(流程图片引自https://www.jianshu.com/p/ce3b51b8f168)
image.png