OpenGL应用开发----向量

    xiaoxiao2025-04-03  14

    一、向量简介

    向量是一种具有大小和方向的数学列表、向量的大小代表了向量本身的长度,而向量的方向描述了指向的方位。 通常向量使用一个带有箭头的线段来表示一个向量,线段的长度则是向量的大小,箭头则表示向量的方向 因此向量可以用来表示位移、速度、角色的观察方向、光线传播方向、光反射方向等

    二、向量的表示

    在数学书写上通过使用一个方括号括起来表示一个向量,而在程序中通常使用一个数组来表示一个向量

    三、向量的维度

    一个向量的维度表示具有多少个分量,向量的每个分量表示在坐标系中每个坐标轴的变换量

    四、向量与点

    向量能够用来描述位移即从一个点移动到另一个点的方向和距离,向量还能够描述一个点在坐标系中的具体位置即从坐标系原点到这个点的距离和方向。

    五、向量的运算

    1、取反运算 将向量的每个分量乘以-1则得到一个与原来的向量的方向相反,大小相同的负向量

    2、零向量 零向量是一个特殊的向量,它表示的是一个没有大小、没有方向的向量,零向量并不是表示某一个点的坐标位置

    3、向量的大小 向量的大小表示了一个点到另一个点的距离

    4、向量与标量相乘或者相除 向量与标量相乘时,这个标量就是这个向量的缩放因子,向量的每个分量与缩放因子相乘或者相除以达到向量的缩放功能。当缩放因子大于0时则向量被放大,当缩放因子小于0时向量的方向被倒转

    5、向量的归一化 当在使用向量时我们只需要使用到向量指向的方向,我们就可以将向量归一化来实现,向量的归一化原理则是将向量的变成一个单位向量,即各个分量的平方和为1。

    6、向量的点积 向量的点积是向量是向量乘积的一种表现形式,向量的点积的结果是一个标量,简而言之向量的点积就是两个向量各个分量的乘积之和。

    从公式可以看出当两个向量为单位向量时两个向量的点积就是一个cos@值,这个值表示的就是两个向量之间的夹角。夹角的取值范围 为 0 ~ π,使用的是弧度制表示

    若两个向量是单位向量时的一些特殊的点积值 :

    6、向量的叉乘 两个向量的叉乘也是向量相乘的一种特殊形式,两个向量叉乘得到的结果是一个向量,向量的叉乘只适用于3D向量不适用于2D向量,这个向量垂直于叉乘的两个向量。 当两个向量首尾相连时,若使用 左手或者右手从第一个向量出发,四指弯向第二个向量,此时大指姆指向的方向就是向量的方向。

    7、向量在另一个向量上的投影

    由于向量U在向量V上的投影,所以它们的方向相同,所以投影向量的方向单位向量为:

    U= V / | V|

    投影向量的长度为:

    更据两个向量之间的点积可得两个向量之间的夹角的cos值为:

    所以向量在坐标轴上的投影为:

    8、判断两个向量相等: 当两个向量的长度和方向都相同时则这个向量相等。在数学中我们通常通过判断向量的几个分量值是否相等来判断两个向量是否相等。

    9、通过一个向量建立坐标系 在3D世界中任何一个坐标点都需要在一个指定的坐标系中才能够表示,我们通过一个坐标原点和三个相互垂直的单位向量组成。

    10、向量与向量之间的加减运算 向量的加法可以被定义为是分量的(Component-wise)相加,即将一个向量中的每一个分量加上另一个向量的对应分量:

    转载请注明原文地址: https://ju.6miu.com/read-1297687.html
    最新回复(0)