1 四元数的初步总结 (一) 前一阵子,以前公司的一位同事向我请教一段计算机图形程序中的算法,其中涉及齐次坐标和四元数。齐次坐标问题到好讲解,但四元数方面以前所知几乎为零。正好我看到齐民友在《复分析,可视化方法》译后记中提到的一本书:《高观点下的初等数学》([德]克莱因 著,以下简称《初等数学》)当中有一段讲到四元数,于是就细读了一遍,把这个专题的整理笔记写下来。 但是那本书里有很多结果依靠繁杂的机械运算,让人看了不知道这样的结果是怎么得出来的。因此我们这里用向量代数的观点重新审视四元数的一些结果,让四元数的特性看起来更直观,更自然。另外还有一些我认为重要的有关四元数引入的背景知识,例如数域的扩充问题的证明,那本书里只有一部分提示,这里也试着补全一些。 一、四元数引入的理论背景 将实数域扩充到复数域,并用复数来表示平面向量,用复数的加、乘运算表示平面向量的合成、伸缩和旋转变换,这些观念已经在中学课程中学过了。那么,很自然的问题就是,在三维,或更高维空间中是否也有复数的类似物?也就是说,像扩充实数那样,在复数域的基础上添加一个或几个新的元素,并且让它们跟原来的复数做加减乘除,是否就可以得到一个新的数集,并且其中的元素还可以像复数域那样做加、减、乘、除运算,并满足通常复数的那些运算律,包括加法和乘法的交换律与结合律、乘法对加法的分配律等待?更进一步,我们是否可以期望用这样的数来表示三维或更高维空间中的伸缩和旋转,就像用复数表示平面向量的伸缩旋转那样方便? 把问题说得明确一些,即是说,我们是否可以像得到复数域那样,在复数域中再添加一个新的元素 (因此也是在实数基础上添加两个元素 和 ),得到一个类似于复数集合 ,这个集合中的元素 当 时就是普通的复数,当 时就是普通的实数,并且通常数的加减乘除运算及其性质都可以在这个集合上保持,即满足: 1、对于任意两个数,它们的和是唯一确定的。 2、对于任意两个数,它们的积是唯一确定的。 3、存在一个数 0,它具有性质:对于任意 a,均有 a+0=a。 4、对于每一个数 a,均存在数 x,适合等式 a+x=0。 5、加法适合交换律:a+b=b+a。 6、加法适合结合律:(a+b)+c=a+(b+c)。 7、乘法适合交换律:a·b=b·a 。 8、乘法适合结合律: (a·b)·c=a·(b·c)。 9、乘法对加法适合分配律:a (b+c)=ab+ac 和 (a+b)c=ac+bc。 10、1 是乘法单位元,即仍然满足 1·a=a·...