美文网首页
6-1.向量

6-1.向量

作者: Pufus | 来源:发表于2020-09-30 09:37 被阅读0次

对于学习OpenGL 有⼀个误区,就是⼤家认为如果不能精通那些3D图形数学知识,会让我们寸步难⾏,其实不然。就像我们不需要懂得任何关于汽车结构和内燃机方面的知识也能每天开车。但是,我们最好能对汽车有⾜够的了解,以便我们意识到什么时候需要更换机油、定期加油、汽⻋常规保养工作。

向量

在 3D 笛卡尔坐标系,基本上⼀个顶点就是XYZ 坐标空间上的⼀个位置,⽽在空间中给定的⼀个位置恰恰是由⼀个单独的 XYZ 定义的,⽽这样的 XYZ 就是向量。 XYZ.png
在 X轴上的向量 (1,0,0),向量⻓度为1. 我们称为⻓度为1的向量为 向量长度计算公式.png
如果一个向量不是单位向量, ⽽我们把它缩放到1. 这个过程叫做 向量点乘.png

如何单位化向量?

计算公式: (x/|xyz|, y/|xyz|, z/|xyz|);
使⽤⼀个⾮零向量除以它的模(向量的⻓度), 就可以得到⽅向相同的单位向量;

math3d 库中提供了关于点乘的API

//1.m3dDotProduct3 函数获得2个向量之间的点乘结果;----- 即余弦值 = cosα
float m3dDotProduct3(const M3DVector3f u,const M3DVector3f v);
//2.m3dGetAngleBetweenVector3 即可获取2个向量之间夹⻆的弧度值;------ 即α = arccos(余弦值)
 float m3dGetAngleBetweenVector3(const M3DVector3f u,const 
M3DVector3f v);

向量的叉乘

向量之间的 向量叉乘.png

math3d 库中提供了关于叉乘的API

//1.m3dCrossProduct3 函数获得2个向量之间的叉乘结果得到⼀个新的向量
void m3dCrossProduct3(M3DVector3f result,const M3DVector3f u ,const M3DVector3f v); 

相关文章

  • 6-1.向量

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

  • [075]python作業第六章-習題

    6-1.可以string.find(str,beg=0,end=len(string)) 6-2.稍後 6-3. ...

  • 向量空间相关概念总结-向量空间

    什么是向量空间 特点:① 包含向量比如向量组,而且向量组内部的向量维数相同② 包含向量的运动向量的加法->生成新的...

  • OpenGL之3D数学

    向量 向量是既有大小又有方向的量。 零向量与单位向量 模等于0的向量为零向量,模等于1的向量叫做单位向量。注意零向...

  • 3D数学基础及图形开发(二)向量

    向量 向量的基本知识 行向量与列向量 向量分为1维,2维,3维,甚至多维向量,1维的向量是标量。 零向量是唯一一个...

  • OpenGL-向量 & 矩阵

    1.向量 1.1 向量的写法 向量又分为横向量与列向量,横向力与列向量的写法如下图: 1.2 负向量表达式: 如上...

  • Day5--学习笔记--smartyy

    1.向量 向量分为:字符型向量,逻辑型向量,数字型向量向量中所有的元素都必须是同一属性 向量的创建函数:c()是创...

  • R语言向量计算的数学函数汇总2021.1.21

    一、向量函数 1.数学函数 sum(向量名):求和 max(向量名):返回向量最大值 min(向量名):返回向量最...

  • OpenGL -- 向量与矩阵

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

  • OpenGL 向量 矩阵 变换

    向量 单位向量 标量:只有大小,例如:1,2,3...向量:既有大小又有方向。单位向量:向量长度(向量的模)为1的...

网友评论

      本文标题:6-1.向量

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