matrix矩陣

原文-理解CSS3 transform中的Matrix(矩陣) by張鑫旭

matrix矩陣

transform中將用到這個變化矩陣,代碼寫做:matrix(a,b,c,d,e,f)。
矩陣變換,可以帶來更直接,可讀性更高的變換方式。

平移

e代表x平移量;
f代表y平移量;

縮放

a為x軸的縮放
d為y軸的縮放

旋轉

matrix(cosθ,sinθ,-sinθ,cosθ,0,0)當matrix按照θ計算并取值,經過矩陣變換,圖形就順時針轉過θ角度。

斜拉伸(skew)

根據matrix(1,tan(θy),tan(θx),1,0,0)進行變換,圖形將進行斜拉伸。
對應的點發(fā)生如下變化。

x' = x+y*tan(θx)+0 = x+y*tan(θx) 
y' = x*tan(θy)+y+0 = x*tan(θy)+y

其他

其他復雜的圖形變化,可以通過計算出變換前后坐標軸的關系,來得到matrix矩陣。

常用變換對應表格

transform2d matrix
translate(tx, ty) matrix(1, 0, 0, 1, tx, ty);
scale(sx, sy) matrix(sx, 0, 0, sy, 0, 0);
rotate(a) matrix(cos(a), sin(a), -sin(a), cos(a), 0, 0);
skew(ax, ay) matrix(1, tan(ay), tan(ax), 1, 0, 0);
transform3d matrix
translate3d matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,tx,ty,tz,1)
scale3d(sx,sy,sz) matrix3d(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 首先講講canvas里面的旋轉、縮放、平移、 Android中可以通過Matrix和ColorMatrix對圖像進...
    三季人閱讀 1,089評論 0 3
  • CSDN博客 img cquwentao android matrix 最全方法詳解與進階(完整篇) 發(fā)表于201...
    北風知我意閱讀 5,084評論 0 0
  • 1 前言 OpenGL渲染3D模型離不開空間幾何的數學理論知識,而本篇文章的目的就是對空間幾何進行簡單的介紹,并對...
    RichardJieChen閱讀 7,524評論 1 11
  • Matrix 是什么 Matrix 擁有一個 3 * 3 矩陣,這個矩陣用于坐標變換。這個矩陣定義如下 Matri...
    不惜留戀_閱讀 3,505評論 4 23
  • 2006年8月29日深夜10點51分,胡歌遭遇車禍。距今,整整10年。當時的胡歌,才24歲。 2005年暑期的一部...
    一枚書女閱讀 3,867評論 30 59

友情鏈接更多精彩內容