二維圖形旋轉公式的推導

    關於二維圖形旋轉可能在很多計算機圖形學相關的書籍上都會介紹,然而真正理解公式推導過程的卻講得不多。那麼如何推導出二維圖形繞某一點旋轉的公式呢?我在這裏就將其推導過程簡要的說明一下。

其實推導過程比較簡單,首先我們來看一幅圖,看看如何推導出二維圖形繞原點進行旋轉的公式。


上圖畫的比較粗略,不過能說明問題就夠了。假設旋轉前的點位於P處,旋轉之後的點位於P'處。如何求旋轉之後的點P'座標?

在圖中,旋轉之前P的方向角是a,旋轉之後P'的方向角就變爲a+b,這裏b就是旋轉的角度,所謂方向角是改點和原點連線與X軸正向的夾角。旋轉的正方向是逆時針

在圖中,從P'點向X軸引垂線,垂足爲B點,根據三角形的基礎知識,可以寫出如下的等式。


公式1中的R就是點P以及P'到原點的距離

由公式1,根據高中三角函數的知識,即和差公式得到如下等式2


通過觀察上式,Rcos(a)=x,Rsin(a)=y,所以上式進一步花間可以得到下面的等式。


這個公式就是我們經常看到的二維圖形旋轉的公式,這樣繞原點的旋轉公式推導出來了,那麼嗨經常碰到的繞某一點旋轉的,比如繞着矢量圖形的中心旋轉的。在這種情況下,首先需要平移,然後旋轉,最後平移回去,具體過程如下。


由上圖可知,(x0,y0)是旋轉的頂點,那麼先將圖形平移到原點,然後繞着原點旋轉b角度,最後平移到(x0,y0)上去。

那麼很容易可知繞任意一點(x0,y0)旋轉的公式爲


是不是比較簡單,我覺得還行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章