Created
November 18, 2013 20:22
-
-
Save hakimel/7534649 to your computer and use it in GitHub Desktop.
Simple script authored in the console to normalize linear path data. Makes it so that the path begins at 0,0 and expands to 100x100.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var d = '350,75 379,161 469,161 397,215 423,301 350,250 277,301 303,215 231,161 321,161'.split(' ') | |
for( var i = 0; i < d.length; i++ ) { | |
d[i] = d[i].split(',') | |
} | |
for( var i = 0; i < d.length; i++ ) { | |
d[i][0] = parseInt(d[i][0]) | |
d[i][1] = parseInt(d[i][1]) | |
} | |
var minX = 999999; | |
var minY = 999999; | |
for( var i = 0; i < d.length; i++ ) { | |
minX = Math.min( minX, d[i][0] ); | |
minY = Math.min( minY, d[i][1] ) | |
} | |
for( var i = 0; i < d.length; i++ ) { | |
d[i][0] -= minX; | |
d[i][1] -= minY; | |
} | |
var maxX = 0; | |
var maxY = 0; | |
for( var i = 0; i < d.length; i++ ) { | |
maxX = Math.max( maxX, d[i][0] ); | |
maxY = Math.max( maxY, d[i][1] ) | |
} | |
var fx = 100 / maxX; | |
var fy = 100 / maxY; | |
for( var i = 0; i < d.length; i++ ) { | |
d[i][0] *= fx; | |
d[i][1] *= fy; | |
} | |
for( var i = 0; i < d.length; i++ ) { | |
d[i][0] = Math.round( d[i][0] * 100 ) / 100; | |
d[i][1] = Math.round( d[i][1] * 100 ) / 100; | |
} | |
var o = []; | |
for( var i = 0; i < d.length; i++ ) { | |
o.push( d[i][0] + ',' + d[i][1] ); | |
} | |
o.join( ' ' ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment