css3 矩阵的使用详解
程序员文章站
2023-12-12 10:21:46
这篇文章主要介绍了css3 矩阵的使用详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧... 18-03-20...
css3 矩阵变化. 应用格式为:
transform: matrix(a,b,c,d,e,f);
对应于就是:
实际应用中的转换就是:
其中:
ax+cy+e = 横坐标
bx+dy+f = 纵坐标
为什么会多出 0 0 1呢? 因为, 为了凑参数.
translate 矩阵
基本格式为:
transform: matrix(1, 0, 0, 1, x, y); // x 横向平移, y 纵向平移
scale 矩阵
scale(缩放) 的矩阵也挺简单.
// 将 x 轴缩放 a 倍 // 将 y 轴缩放 b 倍 matrix(a, 0, 0, b, 0,0);
当然, 如果你在最后两位写上数字, 代表着, 先缩放再平移.
// 得到: x 轴 = 0.3*x + 100 // 得到: y 轴 = 0.2*x + 200 matrix(0.3,0,0,0.2,100,200);
rotate 矩阵
rotate 实际上和三角函数有很大的关系. 首先,确定你的旋转角(顺时针旋转). 然后, 计算 sinθ 和 cosθ. 最后的矩阵公式为:
matrix(cosθ,sinθ,-sinθ,cosθ,0,0) // 就是 cs-sc
skew 矩阵
skew(拉伸) 矩阵也是三角函数, 不过, 用到的是tanθ. 格式为:
// 将 y 轴向 x 轴倾斜 a° // 将 x 轴向 y 轴倾斜 b° matrix(1,tan(a),tan(b),1,0,0)
3d变换矩阵
3d 变换是 4*4 的矩阵. 他和 2d 类似,只是, 多出一个z。 // 这是缩放的3d矩阵
对应的 css 写法为:
transform: matrix3d(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。