当前位置: 首页 > Web前端 > HTML

svg06——svg中坐标变换与顺序的关系

时间:2023-03-28 14:39:20 HTML

1、什么是坐标变换在svg中,坐标变换是描述从一种坐标系到另一种坐标系的变换。在上一篇文章中,我们说过:transform是在前身坐标系的基础上对自己的坐标系进行变换。下面我们亲自测试一下,当坐标系和它的前身坐标系都进行变换时,顺序不同有什么影响?二、坐标变换与顺序的关系(坐标系与前任坐标系)1.坐标系与前任坐标系均平移g先translate(50,0),rect再translate(0,50):gfirsttranslate(0,50),rectandthentranslate(50,0)前驱坐标系和自身坐标系都平移时,对于自身坐标系结果是一样的2.前驱坐标系和前驱坐标系都平移坐标系旋转g首先旋转(30),rectthenrotate(15)g先rotate(15),rectthenrotate(30)当前驱坐标系和自身坐标系都旋转时,自身坐标系结果相同3.坐标系并对前体坐标系进行平移和旋转g先平移(0,50),rect然后旋转(30)g先旋转(30),rect然后平移(0,50))发现不一样了!为了看得清楚,我手绘了变换过程的尺寸不准确,见谅!阴影部分是上面截图中矩形的效果。重要:矩形的任意变换是基于变换后的g的坐标系3.如果同一个图形的两次变换的顺序换了怎么办?1.值得一提的是svg中的变换可以写成链式顺序调用举个例子:下图可以看出,translate(0,50)两次变换都生效了,进行了叠加2.通过分析不难知道,同一个图形:多次连续平移和交换位置,结果相同连续多次旋转和交换位置,结果相同。nslation和rotation交换位置Firsttranslationandthenrotation:先旋转再平移:这个结果大家一定猜到了,原理其实和上面的描述是一致的,相差两倍变换都是在自己的坐标系中。所以同时平移和旋转的时候一定要注意顺序的影响~kk...周五,周末愉快