CSS3——CSS3矩阵matrix进行2D变换的数学原理

本文详细介绍了CSS3中2D变换的matrix函数,通过数学原理解析了如何使用6个参数实现平移、旋转、放缩和斜切。文章通过矩阵相乘和三角函数阐述了各个变换的实现方式,并提供了复合变换的处理方法。总结了不同变换对应的参数控制,并给出了实际应用示例。
摘要由CSDN通过智能技术生成

css3的2D转换中matrix接受6个参数,却可以实现平移、旋转、放缩、斜切四种效果。它是如何做到的呢?

此处的你有两个选择
0 - 对自己有较高要求!老老实实静下心来将本文看完,
1 - 直接看总结——点我直达,只学习如何使用matrix

预备知识:矩阵相乘、三角函数,fighting!

此处附上矩阵相乘的百度百科定义
在这里插入图片描述
我们先将matrix接受的六个参数记为a,b,c,d,e,f,则该变换矩阵记为
在这里插入图片描述
二维平面上一个点记为(x,y),为了与向量区分开,我们使用数字1代表点,0代表向量,则二维平面上一个点应记为(x,y,1),为了使该点经过变换后依旧为(x,y,1)的形式,矩阵可以改为
在这里插入图片描述
进行相乘变换(自行百度矩阵相乘的公式)
在这里插入图片描述
我们得到了一个新的点(ax+cy+e,bx+dy+f,1)
怎么将这个冷冰冰的点和我们的平移旋转缩放斜切联系到一起呢?

平移

我们知道,对一个点(x,y,1)向x轴正向平移10,向y轴正向平移20,得到的点为(x+10,y+20,1),而经过矩阵变换的点为(ax+cy+e,bx+dy+f,1),对比得到a=1,c=0,e=10,b=0,d=1,f=20
所以变换矩阵为
在这里插入图片描述

transform: matrix(1,0,0,1,10,20); // a=1,c=0,e=10,b=0,d=1,f
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值