目录 其他材料 |
矢量运算——矢量加法与矢量减法 也许你会问,我们为什么要将数字阵列称为矢量呢,难道说矢量就是阵列,还是说矢量就是像Illustrator或Flash这类软件制作的动画或静帧素材? 通常我们使用在网格上标记点的方法来表现数字阵列。例如,矢量[80,60]就可以在二维网格上显示为: 更准确的说,[80,60]描述了从[0,0]到[80,60]的矢量,同时指明了方向和大小,在上面显示为一个白色箭头——水平方向移动80个单位,垂直方向移动60个单位。而对于三维阵列来说,我们就要用三维矢量来描述: 那么,我们为什么把[80,60]表示为矢量而不表示为一个该矢量指向的点呢?原因是当我们把一个点从他所属的线或者是面中提取出来的时候,这个点就变的毫无意义,一个点无法与其他的点区分开来——他们仅仅是孤立的点,因此就无法正确的描述一个矢量。 换句话说,矢量包含有自己的属性,矢量既有大小也有方向。这样看来,[80,60]与[20,30]就是截然不同的两组阵列。 所以说,每个数字阵列定义一个矢量,数字阵列就是矢量。 矢量加法 很明显当我们将两个矢量进行加法运算时,只要对阵列中相应的元素进行运算就行了: [20,70] + [60, -10] = [80, 60] 我们可以用图形的方式来表现这种加法: 通过上面的例子我们可以看出,每个矢量都可以拆分成若干组矢量的组合形式来表示,例如: [80, 60] = [80,0] + [0, 60] 当用图形来表示上面的矢量加法时,矢量之间的关系组成了一个直角三角形: 稍后我们将对AE中的矢量属性应用这种方法,在三角形的运算中我们还将使用到勾股定理。 矢量减法 同矢量加法一样,将两个矢量相减时,只要分别对矢量中的元素应用减法运算就可以了: [80, 60] - [20, 70] = [60, -10] 减区一个矢量相当于加上该矢量的相反数: -[c, d]= [-c,-d] 我们可以使用下面的图形来表示矢量减法: 通过上面的图形示例我们可以看出,我们可以对两个矢量图层进行减法运算来找出这两个图层之间的矢量,这两个图层之间的距离就是运算后得到的矢量的长度。 在下面的章节中我们将讨论计算矢量长度的技巧。 |
所有内容版权归JJ Gifford.所有,翻译权归CG频道所有,违者必纠。