Snap.svg:Matrix.x(x,y) 提供什么?
Snap.svg: What does Matrix.x(x,y) provide?
下面是使用 Snap.svg 的 Matrix.x(x,y) 的示例,我正在尝试确定它的使用方式。
在下面创建矩阵转换(见图)并请求 Matrix.x(50,50) 后,它 returns 的值为 315.47+。这个值是多少?
谢谢
var SNPsvg = Snap("#mySVG");
//---square, center(0,0)---
var rect = SNPsvg.rect(-30,-30,60,60).attr({fill: 'blue' });
var myMatrix = Snap.matrix();
myMatrix.translate(200,100)
myMatrix.scale(2,1.5)
myMatrix.skew(30,45)
myMatrix.rotate(30)
rect.transform(myMatrix)
var mX1=myMatrix.x(50,50)//--if add translate (50,50) ??---
文档指出 Matrix.x(x, y)
:
Returns x coordinate for given point after transformation described by the matrix.
它是x被那个矩阵变换后的值!
通常你会把它和 y 一起使用,
var TransformedPt = {
x: Matrix.x(x,y),
y: Matrix.y(x,y),
}
但是,我会首先研究 Snaps 转换字符串,因为它们通常更容易。例如..
rect.transform('t200,200r30s2,3')
将变换矩形,平移 200,200,旋转(围绕中心)30 度,然后缩放 x,y 2,3
它的存在是为了帮助避免处理矩阵的需要。另见 here。
下面是使用 Snap.svg 的 Matrix.x(x,y) 的示例,我正在尝试确定它的使用方式。 在下面创建矩阵转换(见图)并请求 Matrix.x(50,50) 后,它 returns 的值为 315.47+。这个值是多少?
谢谢
var SNPsvg = Snap("#mySVG");
//---square, center(0,0)---
var rect = SNPsvg.rect(-30,-30,60,60).attr({fill: 'blue' });
var myMatrix = Snap.matrix();
myMatrix.translate(200,100)
myMatrix.scale(2,1.5)
myMatrix.skew(30,45)
myMatrix.rotate(30)
rect.transform(myMatrix)
var mX1=myMatrix.x(50,50)//--if add translate (50,50) ??---
文档指出 Matrix.x(x, y)
:
Returns x coordinate for given point after transformation described by the matrix.
它是x被那个矩阵变换后的值!
通常你会把它和 y 一起使用,
var TransformedPt = {
x: Matrix.x(x,y),
y: Matrix.y(x,y),
}
但是,我会首先研究 Snaps 转换字符串,因为它们通常更容易。例如..
rect.transform('t200,200r30s2,3')
将变换矩形,平移 200,200,旋转(围绕中心)30 度,然后缩放 x,y 2,3
它的存在是为了帮助避免处理矩阵的需要。另见 here。