Created
January 21, 2015 15:29
-
-
Save sirkitree/d0bb00d1b42e885385ec to your computer and use it in GitHub Desktop.
coordinate generator
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 points = []; | |
var x = y = z = this.constraint; | |
var constraintDecrement = this.constraint * -1; | |
for (var x = this.constraint; x >= constraintDecrement; x--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
for (var y = this.constraint; y > constraintDecrement; y--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
for (var z = this.constraint; z > constraintDecrement; z--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
}; | |
}; | |
}; |
Humm, if my CS education is coming back to me OK, the snippet above runs on the order of O(n^3), 8n^3 to exact, where n is this.contraint
. So for:
this.constraint = 10
==> 8,000 array entries
this.constraint = 100
==> 8,000,000 array entries
That's a lot. Even if you could speed it up, the 8,000,000 entries in the array might be too huge?
JS bin to play with: http://jsbin.com/dogogirohu/2/edit
Yup, it's way too huge, 10 will have to suffice for now, lol.
@justafish created a much faster version here: https://gist.github.com/justafish/096f46baedc2487deafe
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Article here is saying that do/while loops are much faster, especially with the condition at the end so I may try that.