WebGL --向量与矩阵的运算

向量运算

向量+向量 = 向量:

名称 类型
加法 [ x1 y1 z1 ] + [ x2 y2 z2 ] = [ x1+x2 y1+y2 z1+z2 ]
减法 [ x1 y1 z1 ] - [ x2 y2 z2 ] = [ x1-x2 y1-y2 z1-z2 ]
几何意义 向量a和b相加的几何解释为:平移向量,使向量a的头连接向量b的尾,接着从a的尾向b的头画一个向量,这就是向量加法的“三角形法则”。减法与之类似。

交换律:a+b=b+a

结合律: (a+b)+c = a+(b+c)

向量 * 实数 = 向量:

名称 类型
向量 a(x1,y1,z1),b
运算式 ab = (x1b,y1b,z1b)
几何意义 向量沿当前方向延伸

交换律:a*b=b*a

结合律: (a*b)c = a(b*c)

分配率: (a+b)*c = a*c + b*c

向量 * 向量 => 点积(标量) 叉积(法向量) :

名称 点积 叉积(只在三维坐标有意义)
向量 a(x1,y1,z1),b(x2,y2,z2) a(x1,y1,z1),b(x2,y2,z2)
运算式 a·b=|a||b|·cosθ a×b=c,其中|c|=|a||b|·sinθ,c的方向遵守右手定则
数值计算 a·b= x1x2 + y1y2 + z1z2 a×b = y1z2-y2z1, x2z1-x1z2, x1y2-x2y1
几何意义 向量a在向量b方向上的投影与向量b的模的乘积 c的模等于以a和b为邻边的平行四边形的面积

点积:

交换律: a.b=b.a

分配率: (a+b).c = a.c + b.c

乘法公式: (a+b)(a-b) = a² - b² (a±b)² = a² + b ±2ab

叉积的计算:

只有3D空间内 向量计算叉积才有意义. 他是垂直于ab两向量的法向量.

向量 点乘在 opengl中的意义: 判断2向量方向的接近程度

a.b >0 则 ab 是锐角 (基本同一方向)

a.b =0 则 ab 垂直 (垂直)

a.b <0 则 ab 是钝角 (基本不同方向)

向量 叉乘在 opengl中的意义: 获取2向量的法向量

只有3D空间内 向量计算叉积才有意义. 他是垂直于ab两向量的法向量.

矩阵运算:

矩阵加法: 通常的矩阵加法被定义在两个相同大小的矩阵。两个m×n矩阵A和B的和,标记为A+B,一样是个m×n矩阵,其内的各元素为其相对应元素相加后的值。例如:

矩阵乘法:

设A为 m x p 的矩阵,B为 p x n 的矩阵,那么称 m x n 的矩阵C为矩阵A与B的乘积,记作 C=AB ,其中矩阵C中的第i行第j列元素可以表示为:

如下所示:

Hadamard乘积:

矩阵 与 矩阵 的Hadamard积记为 。其元素定义为两个矩阵对应元素的乘积 的m×n矩阵 。例如,

Kronecker乘积:

Kronecker积是两个任意大小的矩阵间的运算,表示为 。克罗内克积也成为直积或张量积[4] .以德国数学家利奥波德·克罗内克命名。 计算过程如下例所示:

留言:

称呼:*

邮件:

网站:

内容: