根據個人理解,大多數人用漢密爾頓四元數就只是作三維空間的旋轉變換(我反正沒見過其餘用法)。那麼你不用學羣論,甚至不用複習線性代數,看我下面的幾張圖就能夠了。
首先,定義一個你須要作的旋轉。旋轉軸爲向量

,旋轉角度爲

(右手法則的旋轉)。以下圖所示:
此圖中

,
那麼與此相對應的四元數(下三行式子都是一個意思,只是不一樣的表達形式)
這時它的共軛(下三行式子都是一個意思,只是不一樣的表達形式),
若是你想算一個點

在這個旋轉下新的座標

,須要進行以下操做,
1.定義純四元數
2.進行四元數運算
3.產生的

必定是純四元數,也就是說它的第一項爲0,有以下形式:
4.

中的後三項

就是

:
這樣,就完成了一次四元數旋轉運算。
同理,若是你有一個四元數:
那麼,它對應一個以向量

爲軸旋轉

角度的旋轉操做(右手法則的旋轉)。
***********************************************************************************************************
若是你想對四元數有着更深刻的瞭解,請往下看。
四元數由漢密爾頓發明,這一發明起源於十九世紀的某一天。在這一天早上,漢密爾頓下樓吃早飯。這時他的兒子問他,「爸爸,咱們可以對三元數組(triplet,能夠理解爲三維向量)作乘法運算麼?」漢密爾頓說「不行,我只能加減它們。」
這時來自21世紀的旁白旁先生說,「你們快來看十九世紀的數學家有多二,連內積和外積都不是知道。」
十九世紀的漢密爾頓也許確實不知道內積和外積,可是他知道,他想要的三維向量乘法要比內積和外積運算「高大上」不少。這一乘法運算要知足下列四條性質:
1.運算產生的結果也要是三維向量
2.存在一個元運算,任何三維向量進行元運算的結果就是其自己
3.對於任何一個運算,都存在一個逆運算,這兩個運算的積是元運算
4.運算知足結合律
換而言之,漢密爾頓想定義的不是一個簡單的映射關係,而是一個羣!(後來咱們知道四元數所在羣爲S3,而四元數所表明的三維旋轉是SO(3),前者是後者的兩倍覆蓋)內積連性質1都不知足,外積不知足性質3。
漢密爾頓先生就這麼被本身兒子提出的問題難倒了。經歷了無數個日日夜夜,他絞盡腦汁也沒想明白這個問題。終於有一天(1843年的一天),漢密爾頓先生終於意識到了,本身所須要的運算在三維空間中是不可能實現的,但在四維空間中是能夠的,他是如此的興奮,以致於把四元數的公式刻在了愛爾蘭的一座橋上。
旁白:「WTF,我讓你講三維物體的旋轉,你給我扯到四維空間上去。」
(不加說明,如下所說四元數全爲單位四元數)
其實,四元數有四個變量,徹底能夠被看做一個四維向量。單位四元數(norm=1)則存在於四維空間的一個球面上。

,四元數

乘以四元數

其實看做(1)對

進行

左旋轉,或者(2)對

進行

右旋轉。因此從始至終,四元數定義的都是四維旋轉,而不是三維旋轉!任意的四維旋轉均可以惟一的拆分爲一個左旋轉和一個右旋轉,表達出來就是

。這裏,咱們對四元數(四維向量)

進行了一個

左旋轉和一個

右旋轉。結果固然是一個四元數,符合性質1。這個運算也同時符合性質2,3,4。
好了,說完了四維旋轉,咱們終於能夠說說三維旋轉了。說白了,三維旋轉就是四維旋轉的一個特例,就像二維旋轉是三維旋轉的一個特例同樣。說是特例其實不許確,準確的說是一個子集或者subgroup。爲了進行三維旋轉運算,漢密爾頓首先在四維空間裏劃出了一塊三維空間。漢密爾頓定義了一種純四元數(pure quaternion),其表達式爲

。純四元數第一項爲零,它存在於四維空間的三維超平面上,與三維空間中的三維向量一一對應。而後,就有了咱們常見的

這種左乘單位四元數,右乘其共軛的表達式。我真心不知道漢密爾頓是怎麼想出來的,不過回過頭來看,這個運算形式是爲了限制其運算結果所在的空間。簡單的說,當對一個三維向量進行三維旋轉後,咱們但願獲得的是一個三維向量。(若是你真能獲得一個四維向量,就不敢本身在家轉圈圈了吧,轉着轉着,就進入四次元了!)那麼這個左乘單位四元數,右乘其共軛的運算保證告終果是一個在三維超平面上中的純四元數。
把左乘和右乘表達爲矩陣形式會讓咱們看的更清楚一些。依照

的定義,

的矩陣形式爲
很明顯,前面的矩陣雖然是一個4x4的四維旋轉矩陣,可是它只是在右下角3x3的區域內和一個單位矩陣有所不一樣。因此說,它是一個限制在三維超平面上的四維旋轉。若是表達式右邊不是共軛,而是任意四元數,那麼咱們所做的就是一個很普通的四維旋轉。若是隻是左乘一個單位四元數,右邊什麼都不乘,那麼咱們獲得的是四維旋轉的一個子集,這個子集並不能保證結果限制在三維超平面上。若是隻右乘,不左乘也是同樣同樣的。
說了這麼多,對於堅持到最後的你,上圖一幅,以表感謝。
其實這張圖解釋了一個長久的疑問。爲何四元數

裏用的是

而不是

。這是由於

作的就是一個

的旋轉,而

也作了一個

的旋轉。咱們進行了兩次旋轉,而不是一次,這兩次旋轉的結果是一個旋轉角爲

的旋轉。