on master help sign in
Fix problems with transformation matrices that include numbers very close to zero (as in issue #222)
089ae13Evan Czaplicki
runtime/Render/Collage.js+8−3
@@ -167,6 +167,11 @@ function formToMatrix(form) {
167 return matrix;
167 return matrix;
168}
168}
169
169
170+function str(n) {
171+ if (n < 0.00001 && n > -0.00001) return 0;
172+ return n;
173+}
174+
170function makeTransform(w, h, form, matrices) {
175function makeTransform(w, h, form, matrices) {
171 var props = form.form._0.props;
176 var props = form.form._0.props;
172 var m = A6( Transform.matrix, 1, 0, 0, 1,
177 var m = A6( Transform.matrix, 1, 0, 0, 1,
@@ -176,9 +181,9 @@ function makeTransform(w, h, form, matrices) {
176 for (var i = 0; i < len; ++i) { m = A2( Transform.multiply, m, matrices[i] ); }
181 for (var i = 0; i < len; ++i) { m = A2( Transform.multiply, m, matrices[i] ); }
177 m = A2( Transform.multiply, m, formToMatrix(form) );
182 m = A2( Transform.multiply, m, formToMatrix(form) );
178
183
179− return 'matrix(' + m[0] + ',' + m[3] + ',' +
184+ return 'matrix(' + str( m[0]) + ',' + str( m[3]) + ',' +
180− (-m[1]) + ',' + (-m[4]) + ',' +
185+ str(-m[1]) + ',' + str(-m[4]) + ',' +
181− m[2] + ',' + m[5] + ')';
186+ str( m[2]) + ',' + str( m[5]) + ')';
182}
187}
183
188
184function stepperHelp(list) {
189function stepperHelp(list) {