仿射變換是二維平面中一種重要的變換,在映像圖形領域有廣泛的應用。許多人對“仿射”沒有一個感官的認識,我覺得很有必要先來說一下“仿射”。
所謂的“仿射變換”就是一種簡單的變換,它的變化包括旋轉、平移、伸縮,原來的直線仿射變換後還是直線,原來的平行線經過仿射變換之後還是平行線,這就是仿射。
仿射變換的矩陣是其次座標形式的變換矩陣
這個矩陣包含的變換有旋轉和平移,其實是兩個矩陣的混合體,許多文章都對這個做了很詳細的描述。仿射變換的數學公式裡,是如何做到座標點位置的平移呢?清楚這個才是弄明白仿射變換的關鍵。
這裡有一個非常重要的圖,這張圖百度百科中就有。利用此圖可以完成仿射變換公式的推導,推導如下:
一個點P在原始座標系下的座標是(Xsp,Ysp)。然後要完成旋轉操作,旋轉操作是基於原點的,如何得到旋轉之後的點的座標,這裡用到一個技巧,座標系中某個點的旋轉可以等價地去旋轉座標軸,所以有了中以(Xs0,Ys0)為中心的虛線與螢幕水平垂直的座標系。在這個座標系中確定P的座標,和在藍色座標系中確定旋轉之後P的座標是等價的。基於這個結論,我們可以通過簡單的立體幾何知識確定P在新座標系中的座標。P在新座標系中的X座標和Y座標分別是
經典的仿射變換的模型呼之欲出了。整理上面兩個式子得:
這就是仿射變換模型中旋轉部分的原理,還有一步,就是平移。
旋轉變換之後,我們確定了P點在新座標系中的位置,然後在這個位置的基礎上加上其在X軸和Y軸的位移即可
仿射變換的矩陣橫空出世。當然中對這個變換的處理更巧妙,它還是利用了不移動點移動座標系的策略,將座標系向相反方向移動了相應的距離。於是有了這個經典仿射變換模型的圖示展現。中我們可以看到,整個在對P點進行仿射變換的過程中,P點的位置並沒有移動,我們是通過不斷的座標系的調整來間接達到P點移動的效果,這充分說明了一件事:運動都是相對的。矩陣理論是運動是相對的這一哲學思想的深刻體現,有興趣大家可以閱讀一下這篇文章http://blog.csdn.net/xiaojidan2011/article/details/8213873。
其他參考文章:
http://www.cnblogs.com/shijibao001/articles/1225962.html