zer*_*ero 19 javascript svg raphael
我试图更好地理解raphael.js,但我发现raphael.js文档有时会让人感到困惑,有时甚至会有些模糊.
任何人都可以向我解释什么是矩阵,以及如何使用它?
use*_*ca8 27
拉斐尔的Matrix几乎没有任何好的,清晰的信息.然而,好消息是,它几乎与SVG中的Matrix转换以及CSS3完全相同.
SVG中有一些矩阵变换的指南,但它们通常假设您已经理解了矩阵数学.如果你不这样做,没什么用处.
然而,CSS3中的矩阵数学有一个很好的指南.它还附带一个Matrix Construction Set(截至2013年2月,它不适用于Chrome,但适用于Firefox).由于CSS3和Raphael矩阵变换背后的数学原理基本相同,你可以使用这个工具生成一组矩阵变换数,然后在Raphael中应用它们,它应该或多或少是相同的结果.
Matrix快速转换的全面概述:

someElement.matrix是一个对象,每个数字都由字母给出(例如,{a:1,b:0,c:0,d:1,e:0,f:0}直接设置这些不会改变对象(所以你不能这样做someElement.matrix.b = 3;)someElement.matrix.split()someElement.matrix.toTransformString();someElement.animate({transform: ['m',0.5, -0.5, 0.5, 0.5, -0.5, 0.5]}, 1000);someElement.transform(['m',0.5, -0.5, 0.5, 0.5, -0.5, 0.5]);someElement.animate({transform: 'm0.5 -0.5 0.5 0.5 -0.5 0.5'}, 1000);someElement.transform('m0.5 -0.5 0.5 0.5 -0.5 0.5');1 0 0 1 0 0.应用此选项会将变换重置为其默认状态.a工作方式类似于X标尺,b像的y剪切,c如x剪切,d像y标尺,并e和f像x和y移动.但它们以数学上复杂的方式相互作用.这并不简单.