返回
向量和矩阵:图形学的数学之美
IOS
2023-10-22 01:11:31
向量:方向和大小的集合
从几何意义上说,向量是具有大小和方向的有向线段。一个向量通常用一个字母表示,如 v,并由其大小和方向两个属性定义。向量的起始点和终点分别称为向量的尾部和头部。
在 3D 笛卡尔坐标系中,向量可以表示为三个数字:x、y 和 z。这些数字表示向量在 x、y 和 z 轴上的分量。例如,向量 v = (1, 2, 3) 表示一个从原点指向点 (1, 2, 3) 的向量。
矩阵:数字的排列
矩阵是一个由数字排列成的矩形数组。矩阵的每一行和每一列都是一个向量。矩阵的秩是矩阵的行数和列数中的最小值。例如,一个 3x4 矩阵是一个包含 3 行 4 列数字的矩形数组。
矩阵可以用来表示各种各样的数据,包括图形对象的位置、旋转和缩放信息。例如,一个 4x4 矩阵可以用来表示一个 3D 物体的世界变换。
向量的基本运算
向量可以进行各种各样的基本运算,包括加法、减法、数乘和点积。
- 加法: 两个向量的加法是将它们各自的分量相加。例如,向量 v = (1, 2, 3) 和向量 w = (4, 5, 6) 的加法结果为向量 v + w = (5, 7, 9)。
- 减法: 两个向量的减法是将它们各自的分量相减。例如,向量 v = (1, 2, 3) 和向量 w = (4, 5, 6) 的减法结果为向量 v - w = (-3, -3, -3)。
- 数乘: 向量与数字相乘的结果是一个新的向量,其大小是原向量的倍数,方向与原向量相同。例如,向量 v = (1, 2, 3) 与数字 2 相乘的结果为向量 2v = (2, 4, 6)。
- 点积: 两个向量的点积是它们各自的分量相乘的和。例如,向量 v = (1, 2, 3) 和向量 w = (4, 5, 6) 的点积为 v · w = 1 * 4 + 2 * 5 + 3 * 6 = 32。
矩阵的基本运算
矩阵也可以进行各种各样的基本运算,包括加法、减法、数乘和矩阵乘法。
- 加法: 两个矩阵的加法是将它们各自的元素相加。例如,矩阵 A = [[1, 2, 3], [4, 5, 6]] 和矩阵 B = [[7, 8, 9], [10, 11, 12]] 的加法结果为矩阵 A + B = [[8, 10, 12], [14, 16, 18]]。
- 减法: 两个矩阵的减法是将它们各自的元素相减。例如,矩阵 A = [[1, 2, 3], [4, 5, 6]] 和矩阵 B = [[7, 8, 9], [10, 11, 12]] 的减法结果为矩阵 A - B = [[-6, -6, -6], [-6, -6, -6]]。
- 数乘: 矩阵与数字相乘的结果是一个新的矩阵,其元素是原矩阵的元素与数字的乘积。例如,矩阵 A = [[1, 2, 3], [4, 5, 6]] 与数字 2 相乘的结果为矩阵 2A = [[2, 4, 6], [8, 10, 12]]。
- 矩阵乘法: 两个矩阵的乘法是将第一个矩阵的每一行与第二个矩阵的每一列相乘,并将结果相加。例如,矩阵 A = [[1, 2, 3], [4, 5, 6]] 和矩阵 B = [[7, 8], [9, 10], [11, 12]] 的乘法结果为矩阵 AB = [[58, 64], [139, 154]]。
向量和矩阵在图形学中的应用
向量和矩阵在图形学中有着广泛的应用,包括:
- 图形变换: 向量和矩阵可以用来表示和操作图形对象的位置、旋转和缩放信息。例如,一个 4x4 矩阵可以用来表示一个 3D 物体的世界变换。
- 光照: 向量和矩阵可以用来计算光线与物体表面的交互,从而产生逼真的阴影和高光。
- 动画: 向量和矩阵可以用来创建动画,例如,可以通过旋转和缩放矩阵来创建旋转和缩放动画。
结论
向量和矩阵是图形学中不可或缺的数学工具,它们帮助我们定义和操作图形对象。通过理解向量的基本概念和矩阵的构成,我们可以更好地理解图形学中的各种算法和技术。