美文网首页
css transform matrix使用

css transform matrix使用

作者: 夏晶晶绿 | 来源:发表于2019-01-02 16:05 被阅读20次

    2D变换

    1.平移 translate

    transform:translate(x,y)
    transform:matrix(1,0,0,1,x,y)

    2.缩放 scale

    transform:scale(x,y)
    transform:matrix(x,0,0,y,0,0)

    3.旋转 rotate

    transform:rotate(x)
    transform:matrix(cos(x),-sin(x),sin(x),cos(x),0,0)

    4.拉伸 skew

    transform:skew(x,y)
    transform:matrix(1,tan(y),tan(x),1,0,0)

    3D变换

    1.平移 translate

    transform:translate(x,y,z)
    transform:matrix(1,0,0,0,0,1,0,0,0,0,1,0,x,y,z,1)

    2.缩放 scale

    transform:scale(x,y,z)
    transform:matrix(x,0,0,0,0,y,0,0,0,0,z,0,0,0,0,1)

    3.旋转 rotate

    transform:rotate(x,y,z,a)
    transform:matrix(a,b,c,0,d,e,f,0,g,h,i,0,0,0,0,1)
    | a d g 0 |
    | b e h 0 |
    | c f i 0 |
    | 0 0 0 1 |

    a=1-2.(y²+z²).sin²(a/2)
    b=2.(x.y.sin²(a/2)+z.sin(a/2).cos(a/2))
    c=2.(x.z.sin²(a/2)-y.sin(a/2).cos(a/2))

    d=2.(x.y.sin²(a/2)-z.sin(a/2).cos(a/2))
    e=1-2.(x²+z²).sin²(a/2)
    f=2.(y.z.sin²(a/2)+x.sin(a/2).cos(a/2))

    g=2.(x.z.sin²(a/2)+y.sin(a/2).cos(a/2))
    h=2.(y.z.sin²(a/2)-x.sin(a/2).cos(a/2))
    i=1-2.(x²+y²).sin²(a/2)

    相关文章

      网友评论

          本文标题:css transform matrix使用

          本文链接:https://www.haomeiwen.com/subject/sarzlqtx.html