kld-affine
Advanced tools
Comparing version 2.0.2 to 2.0.3
@@ -81,7 +81,10 @@ /** | ||
Matrix2D.scalingAt = function(scale, center) { | ||
// TODO: calculate all math inline | ||
return Matrix2D | ||
.translation(center.x, center.y) | ||
.scale(scale) | ||
.translate(-center.x, -center.y); | ||
return new Matrix2D( | ||
scale, | ||
0, | ||
0, | ||
scale, | ||
center.x - center.x * scale, | ||
center.y - center.y * scale | ||
); | ||
} | ||
@@ -110,8 +113,11 @@ | ||
Matrix2D.nonUniformScalingAt = function(scaleX, scaleY, center) { | ||
// TODO: calculate all math inline | ||
return Matrix2D | ||
.translation(center.x, center.y) | ||
.scaleNonUniform(scaleX, scaleY) | ||
.translate(-center.x, -center.y); | ||
}; | ||
return new Matrix2D( | ||
scaleX, | ||
0, | ||
0, | ||
scaleY, | ||
center.x - center.x * scaleX, | ||
center.y - center.y * scaleY | ||
); | ||
}; | ||
@@ -139,7 +145,13 @@ /** | ||
Matrix2D.rotationAt = function(radians, center) { | ||
// TODO: calculate all math inline | ||
return Matrix2D | ||
.translation(center.x, center.y) | ||
.rotate(radians) | ||
.translate(-center.x, -center.y); | ||
let c = Math.cos(radians); | ||
let s = Math.sin(radians); | ||
return new Matrix2D( | ||
c, | ||
s, | ||
-s, | ||
c, | ||
center.x - center.x * c + center.y * s, | ||
center.y - center.y * c - center.x * s | ||
); | ||
}; | ||
@@ -146,0 +158,0 @@ |
{ | ||
"name": "kld-affine", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "A collection of classes used in affine geometry", | ||
@@ -5,0 +5,0 @@ "author": { |
@@ -62,2 +62,14 @@ # kld-affine | ||
* Matrix2D.IDENTITY | ||
* Matrix2D.translation | ||
* Matrix2D.scaling | ||
* Matrix2D.scalingAt | ||
* Matrix2D.nonUniformScaling | ||
* Matrix2D.nonUniformScalingAt | ||
* Matrix2D.rotation | ||
* Matrix2D.rotationAt | ||
* Matrix2D.rotationFromVector | ||
* Matrix2D.xFlip | ||
* Matrix2D.yFlip | ||
* Matrix2D.xSkew | ||
* Matrix2D.ySkew | ||
* multiply | ||
@@ -64,0 +76,0 @@ * inverse |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
60557
29
1337
95