向量的叉乘(外积/叉积):
a(ax, ay, az)
b(bx, by, bz)
a x b = c (aybz – azby, axbz – azbx, axby - aybx)
两个向量叉乘的几何意义:
得到一个新的向量,c向量,c向量同时垂直于a向量和b向量。垂直于a向量和b向量所组成的平面,我们也把c向量叫做那个平面的法向量。
向量的叉乘不满足乘法交换律,但是有一定的规律:
a x b = - (b x a) 互为负向量。
c向量的模长 = |a||b|sin<a,b>
四元数:
复数(虚数):是一个复合型的数,是由实数部分(实部)和虚数部分(虚部)组成,当实部为0,这个复数就变成了纯虚数,当虚数部分为0,这个复数就变成了实数。
虚数:我们将一个数的平方等于-1,那么这个数就是虚数单位。
实数:有理数和无理数的集合。
有理数:一切有道理的数 — 有限数和无限循环小数
无理数:没有道理的数 — 无限不循环数。
四元数是一种超复数:x y z w 其中w是实部,剩下的x y z 都是虚部,我们就可以把四元数表示为:
Q = w + xi + yj + zk (其中ijk全是虚数单位)
四元数是数学家汉密尔顿最先推导,为了表示旋转,四元数中存储着的是一对儿 轴角对儿,含义是绕着某根轴,旋转…度角。
那么这轴角对是如何存储在四元数的四个分量中的呢?????
<n(x,y,z),θ>
在四元数中:
x = n.x * sin(θ/2)
y = n.y * sin(θ/2)
z = n.z * sin(θ/2)
w = cos(θ/2)
复数运算法则:
加法: (a + bi) + (c + di) = (a + c) + (b + d)i
减法: (a + bi) - (c + di) = (a - c) + (b - d)i
乘法: (a + bi) * (c + di) = (ac - bd) + (ad + bc)i
q
四元数的模 = sqrt(x^2 + y^2 + z^2 + w^2),模长为1的四元数我们称之为标准四元数。
单位四元数:(0,0,0,1) 几何意义:无旋转。
共轭四元数:将原四元数的虚数部分取负。反向旋转。
四元数的逆 = 共轭四元数/四元数的模。q^-1 * q = 单位四元数
四元数的乘法:
Q1 = (v1, w1)
Q2 = (v2, w2)
Q1 * Q2 = (w1 * v2 + w2 * v1 + v1 x v2, w1 * w2 - v1·v2)
四元数和四元数相乘代表的几何意义是让旋转量进行叠加
四元数和Vector3进行相乘几何意义是
如果Vector3是一个坐标点,让坐标点绕着四元数中的轴角对进行旋转。
如果Vector3是一个向量,让向量绕着过向量起点的轴角对进行旋转。