10
四元数相乘
编写一个计算两个四元数的四元数乘积的命名函数或程序。使用尽可能少的字节。 四元数 四元数是实数的扩展,进一步扩展了复数。i四元数使用三个i,j,k满足关系的虚构单元,而不是单个虚构单元。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (在Wikipedia页面上也有这些表格。) 换句话说,每个假想单位与平方-1,两个不同的假想单位的乘积是剩余的第三个,+/-取决于是否(i,j,k)遵守循环顺序(即右手定则)。因此,乘法的顺序很重要。 一般的四元数是实部和三个虚部的线性组合。因此,用四个实数描述(a,b,c,d)。 x = a + b*i + c*j + d*k 因此,我们可以使用分布属性将两个四元数相乘,注意按正确的顺序将单位相乘,并在结果中分组类似的项。 (a + b*i + c*j + d*k) * (e …