美文网首页
OpenGL -- 向量与矩阵

OpenGL -- 向量与矩阵

作者: 木扬音 | 来源:发表于2021-09-12 19:42 被阅读0次

向量

单位向量

长度为1的向量,向量长度通过下列公式计算


image.png
//3维向量  -- XYZ
M3DVector3f
//4维向量  -- XYZW   W==缩放因子
M3DVector4f

向量 点乘

  • 点乘只能在两个向量之间进行
  • 两个单位向量进行点乘会得到一个标量,表示两个向量之间的夹角[-1,1],其实就是cos值(余弦值)
//获取两个向量之间的点乘结果
m3dDotProduct3(const M3DVector3f u, const M3DVector3f v);
//获取两个向量之间的夹角弧度值
m3dGetAngleBetweenVectors3(const M3DVector3f u, const M3DVector3f v);

向量 叉乘

两个普通向量之间叉乘可以得到另外一个向量,新向量会与原来两个向量平面垂直

//叉乘
m3dCrossProduct3(M3DVector3f result, const M3DVector3f u, const M3DVector3f v);

矩阵

在OpenGL中以列优先

image.png
//单元矩阵初始化①
GLfloat m[] = {
            1,0,0,0,    //X
            0,1,0,0,    //Y
            0,0,1,0,    //Z
            0,0,0,1,    //W
    };

//单元矩阵初始化②
M3DMatrix44f m = {
                1,0,0,0,    //X
                0,1,0,0,    //Y
                0,0,1,0,    //Z
                0,0,0,1,    //W
    };

//单元矩阵初始化③
m3dLoadIdentity44(M3DMatrix44f m);

矩阵相乘

顶点向量 = (((投影矩阵 * 观察者矩阵) * 模型矩阵) * 顶点)

相关文章

  • OpenGL 向量与矩阵

    1、向量 在 3D 笛卡尔坐标系, 基本上一个顶点就是XYZ 坐标空间上的⼀个位置,而在空间中给定的一个位置恰恰是...

  • OpenGL矩阵与向量

    对于学习OpenGL有一个误区,就是大家认为,如果不能精通那些3D图形数学知识,会让我们寸步难行,其实不然。就像我...

  • OpenGL 向量与矩阵

    原文地址 OpenGL 向量与矩阵 注:本文旨在记录笔者的学习过程,仅代表笔者个人的理解,如果有表述不准确的地方,...

  • OpenGL -- 向量与矩阵

    向量 单位向量 长度为1的向量,向量长度通过下列公式计算 向量 点乘 点乘只能在两个向量之间进行 两个单位向量进行...

  • OpenGL--向量和矩阵

    在我们OpenGL中涉及到图形变换的时候经常会运用到向量/矩阵的运算。今天我们就来了解下OpenGL中的向量、矩阵...

  • OpenGL 向量、矩阵

    向量 在坐标系上,一个顶点就是X,Y,Z坐标空间的一个位置。由一个单独的XYZ定义的这样就是向量。 单位向量 向量...

  • OpenGL向量、矩阵

    向量 在 3D 笛卡尔坐标系, 基本上一个顶点就是XYZ 坐标空间上的⼀个位置。而在空间中给定的一个位置恰是由一个...

  • OpenGL 向量/矩阵

    向量 什么是向量 在3D笛卡坐标系中,基本上,一个顶点就是XYZ坐标空间上的一个位置。而在空间中给定的一个位置,恰...

  • OpenGL-向量与矩阵

    向量与矩阵的应用场景和相关方法 向量 向量:(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude...

  • OpenGL-矩阵与向量

    OpenGL的矩阵操作 旋转 平移 缩放 压栈/出栈 单位向量-X轴-(1,0,0) 单位矩阵-X,Y,Z 三轴...

网友评论

      本文标题:OpenGL -- 向量与矩阵

      本文链接:https://www.haomeiwen.com/subject/kxpawltx.html