美文网首页
OpenGL中向量和矩阵浅析

OpenGL中向量和矩阵浅析

作者: CrazySnow | 来源:发表于2020-07-16 11:36 被阅读0次

向量

向量:在3D笛卡尔坐标系中,一个顶点就是由XYZ定义的,这样的顶点就是向量。(有方向的点就是向量)
向量长度(模)的计算方式:

向量长度计算.png
标量:没有方向只有大小
  • 单位向量:长度为1的向量就是单位向量
  • 向量标准化:将向量的长度缩减到1的过程就叫标准化,也叫单位化向量。
  • 如何单位化向量量?
    (x/|xyz|, y/|xyz|, z/|xyz|); 使用一个⾮零向量除以它的模(向量的⻓长度), 就可以得到方向相同的单位向量;
  • 向量点乘
    目的:求两个向量之间的夹角
    前提条件: 2个向量必须为单位向量;
    动作: 2个三维向量之间进行点乘
    结构: 返回一个[-1,1]范围的值. 这个值其实就是 夹角的cos值(余弦值)
  • 向量叉乘(叉乘不满足乘法交换律 矩阵1矩阵2 !=矩阵2矩阵1 )
    目的:求法线
    前提: 2个普通向量
    动作: 向量与向量叉乘
    结果: 向量(垂直于原来2个向量定义的平面的向量)

矩阵

*矩阵只有⼀行或者⼀列都是合理的. 只有一行或者一列数字可以称为向量. 也可以称为矩阵;

  • 转置矩阵:将矩阵的行列互换得到的新矩阵称为转置矩阵,转置矩阵的行列式不变。
    *OpenGL 使⽤的是 Column-Major(以列为主)矩阵排序的约定
    列向量的标注:矩阵最后一行都是0,只有最后一个数是1
  • 单元矩阵:单元矩阵是一个对角线为非零元素,其它元素为零的方形矩阵。
    初始化方式:void m3dLoadIdentity44f(M3DMatrix44f m);

视图变换

视图变换就是切换视觉坐标系,通俗点说就是人看一个物体,这个物体的中心就是坐标原点,视图变化就是看物体的另外一面。所以在进行其他任何模型变换之前,必须先做视图变换。

模型变换:

用于操纵模型与其中某特定变换. 这些变换将对象移动到需要的位置. 通过旋转,缩放,平移。


模型变换.png
  • 平移
void m3dTranslationMatrix44(M3DMatrix44f m, floata x, float y, float z);
  • 旋转
m3dRotationMatrix44(m3dDegToRad(45.0), floata x, float y, float z);
  • 缩放
void m3dScaleMatrix44(M3DMatrix44f m, floata xScale, float yScale, float zScale);
  • 综合效果
void m3dMatrixMultiply44(M3DMatrix44f product, const M3DMatrix44f a, const M3DMatrix44f b);

相关文章

  • OpenGL中向量和矩阵浅析

    向量 向量:在3D笛卡尔坐标系中,一个顶点就是由XYZ定义的,这样的顶点就是向量。(有方向的点就是向量)向量长度(...

  • OpenGL--向量和矩阵

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

  • OpenGL中的向量和矩阵

    OpenGL坐标变化时经常用到矩阵来计算变化后点的位置,为了更好的理解3D数学在OpenGL中的作用,本文将简单地...

  • OpenGL中的向量、矩阵

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

  • OpenGL中的向量,矩阵

    一.向量 如图: 在3D笛卡尔坐标系中,A点在XYZ轴上对应的位置分别为OC,OD,OB,在X轴上,我们用X(蓝色...

  • OpenGL中的向量、矩阵

    向量 了解向量之前,先了解什么是标量 标量:只有大小,例如:1,12,13等 向量是有方向的标量,即不仅有大小,还...

  • 十三 OpenGL中的向量和矩阵

    1 向量 1.1 向量的定义 坐标系中的一个坐标(x,y,z),即从坐标原点(0,0,0)指向(x,y,z)的一个...

  • OpenGL 向量、矩阵

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

  • OpenGL向量、矩阵

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

  • OpenGL 向量/矩阵

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

网友评论

      本文标题:OpenGL中向量和矩阵浅析

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