博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tranform 矩阵--matrix()方法
阅读量:4969 次
发布时间:2019-06-12

本文共 743 字,大约阅读时间需要 2 分钟。

CSS3 transformmatrix()方法写法如下:

  transform: matrix(a,b,c,d,e,f);

  

  反应在这里就是如下转换公式:

  

实际上transform: matrix(1, 0, 0, 1, 30, 30);就等同于transform: translate(30px, 30px);. 注意:translate, rotate等方法都是需要单位的,而matrix方法e, f参数的单位可以省略。

  

 

缩放:

用公式就很明白了,假设比例是s,则有matrix(s, 0, 0, s, 0, 0);,于是,套用公式,就有:

x' = ax+cy+e = s*x+0*y+0 = s*x;
y' = bx+dy+f = 0*x+s*y+0 = s*y;

也就是matrix(sx, 0, 0, sy, 0, 0);,等同于scale(sx, sy);

 

旋转:

方法以及参数使用如下(假设角度为θ):

  matrix(cosθ,sinθ,-sinθ,cosθ,0,0)

3D变换中的矩阵:

3D变换虽然只比2D多了一个D,但是复杂程度不只多了一个。从二维到三维,是从4到9;而在矩阵里头是从3*3变成4*4, 9到16了。

其实,本质上很多东西都与2D一致的,只是复杂度不一样而已。这里就举一个简单的3D缩放变换的例子。

对于3D缩放效果,其矩阵如下:

  

代码表示就是:

  transform: matrix3d(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1)

 

作者:喜悦的小鹏哥

 

转载于:https://www.cnblogs.com/chpeng/p/6757264.html

你可能感兴趣的文章
T-SQL Recipes之Separating elements
查看>>
checked和unchecked的区别
查看>>
Web性能压力测试之Webbench使用详解
查看>>
php学习笔记6
查看>>
hdu2054 不要想太多,这就一水题
查看>>
CHtmlCtrl的实现
查看>>
洛谷 P1546 最短网络 Agri-Net
查看>>
Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
查看>>
技术blog链接
查看>>
web前端实战系列[3]——下拉菜单
查看>>
111 Minimum Depth of Binary Tree 二叉树的最小深度
查看>>
Hadoop使用常见问题以及解决方法1
查看>>
重载与覆盖的差别
查看>>
NLP系列(2)_用朴素贝叶斯进行文本分类(上)
查看>>
<LeetCode OJ> 121. /122. Best Time to Buy and Sell Stock(I / II)
查看>>
HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)
查看>>
JIRA 敏捷开发平台部署记录
查看>>
react里面引入图片
查看>>
问题分析
查看>>
P4安装
查看>>