原文鏈接:http://www.cnblogs.com/glshader/archive/2010/10/23/1858925.html
首先,我要感謝萊昂哈德·歐拉先生,他的智慧之光打破了時間的界限,在200多年後的今天依然照耀着我們.
許多圖形學教科書在談論2D旋轉的時候,用一個表示旋轉的矩陣來講解旋轉,例如:
這是一個表示旋轉的矩陣,我們將一個2D向量乘以這個矩陣, 就能得到旋轉θ角度的向量.
旋轉後的向量x', y'就等於:
我從來沒有真正明白,這個旋轉矩陣是怎麼計算得來的, 直到我找到歐拉的公式:
圖中的圓表示”複數(complexnumber)平面”上的單位向量的集合.
這個公式被稱作”歐拉公式”,i表示複數, e是自然對數, 運用這個公式,我們可以很容易的計算出2D空間中的旋轉矩陣.
”實數平面”和”複數平面”之間並沒有很大差別,唯一的不同是在”複數平面”中, y軸表示複數.
假設, 在”複數平面”上有這樣的一個向量:
運用歐拉公式,我們可以將該向量轉換爲:
現在, 假設旋轉β角度以後,新的向量爲z':
我們來展開這個表達式:
所以,
從這裏,我們就可以得到轉換後的向量座標:
由此, 我們就可以推出旋轉矩陣.