2d變換矩陣

2d變換矩陣

2d變換矩陣總共有6個可動的參數,這六個參數分別控制不一樣的變換動畫

| a  b  0 |
| c  d  0 |
| tx ty 1 |

a 水平縮放code

b 水平拉伸遊戲

c 垂直拉伸class

d 垂直縮放co

tx 水平位移參數

ty 垂直位移

當矩陣爲1的單元矩陣的時候

代表該圖形沒有變換

同等效果

  • 縮放:scale(sx, sy) 等同於 matrix(sx, 0, 0, sy, 0, 0);
  • 平移:translate(tx, ty) 等同於 matrix(1, 0, 0, 1, tx, ty);
  • 旋轉:rotate(deg) 等同於 matrix(cos(deg), sin(deg), -sin(deg), cos(deg), 0, 0);
  • 拉伸:skew(degx, degy) 等同於 matrix(1, tan(degy), tan(degx), 1, 0, 0);

轉換後的點的計算

x' = a * x + c * y + tx;

y' = b * x + d * y + ty;

做用

能夠經過不一樣matrix,對不一樣座標系(相對-絕對或物體-物體)間的點進行轉換。經常使用於遊戲/動畫場景

相關文章
相關標籤/搜索