天天看點

計算機圖形學 7.2 二維基本變換

7.2 二維基本變換

  • 平移變換

  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 下圖來自  部落格
  • 代碼實作在 部落格
  • 計算機圖形學 7.2 二維基本變換
  • 旋轉變換

  • 繞坐标原點旋轉角度
    計算機圖形學 7.2 二維基本變換
       (逆時針為正,順時針為負)
  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 推導過程:部落格 (内容有錯誤,修複如下)  或者  書籍129頁(待補)

理論

設原始圖像的任意點 
計算機圖形學 7.2 二維基本變換
 經順時針旋轉
計算機圖形學 7.2 二維基本變換
角度後到新的位置
計算機圖形學 7.2 二維基本變換
,為表示友善,采用極坐标形式表示,原始點的角度為 
計算機圖形學 7.2 二維基本變換
。根據極坐标與直角坐标的關系,原始圖像的點 
計算機圖形學 7.2 二維基本變換
  的極坐标為
計算機圖形學 7.2 二維基本變換
旋轉到新位置以後 
計算機圖形學 7.2 二維基本變換
 的極坐标為
計算機圖形學 7.2 二維基本變換
由于旋轉後的點
計算機圖形學 7.2 二維基本變換
需要用 
計算機圖形學 7.2 二維基本變換
表示,對上式進行簡化,得
計算機圖形學 7.2 二維基本變換
用矩陣表示    
計算機圖形學 7.2 二維基本變換
記上式變換矩陣為  
計算機圖形學 7.2 二維基本變換

   為旋轉矩陣。

上述變換是針對原點的,如果指定了旋轉中心,可以先按上述方式進行旋轉,再把旋轉後的中心平移到旋轉前的中心。具體地,設旋轉前的中心坐标為 

計算機圖形學 7.2 二維基本變換
,則旋轉後的坐标為
計算機圖形學 7.2 二維基本變換
,根據上面的關系,兩個點的坐标關系即由上面矩陣變換确定。則旋轉中心平移量為
計算機圖形學 7.2 二維基本變換
,代入
計算機圖形學 7.2 二維基本變換
,可得
計算機圖形學 7.2 二維基本變換
平移對應的平移矩陣為
計算機圖形學 7.2 二維基本變換
計算機圖形學 7.2 二維基本變換
也可以了解為,将中心坐标
計算機圖形學 7.2 二維基本變換
移到原點,
計算機圖形學 7.2 二維基本變換
,再進行旋轉R,再将
計算機圖形學 7.2 二維基本變換
移回原位
計算機圖形學 7.2 二維基本變換
計算機圖形學 7.2 二維基本變換
  • 放縮變換

  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 計算機圖形學 7.2 二維基本變換
  • 以坐标原點為放縮參照點
  • 不僅改變了物體的大小和形狀,也改變了它離原點的距離  
  • 下圖來自:部落格,關于原點(0,0)的縮放。想想關于某個點p(x,y)的縮放如何實作?
  • 計算機圖形學 7.2 二維基本變換
  • 關于任意參照點P(x,y)的放縮變換

1、平移使P落于坐标原點

2、放縮(sx,sy),

3、平移使落于原點的P傳回原先的位置

齊次坐标與二維變換的矩陣表示 

  • 為什麼需要齊次坐标?
計算機圖形學 7.2 二維基本變換
計算機圖形學 7.2 二維基本變換