From 5592d810fc5080f37fee26f7ad7422f3630bce4c Mon Sep 17 00:00:00 2001 From: jules Date: Sun, 5 Jan 2014 18:56:32 -0500 Subject: frame weaving --- js/util.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'js/util.js') diff --git a/js/util.js b/js/util.js index b05c7d6..948b3f6 100644 --- a/js/util.js +++ b/js/util.js @@ -64,3 +64,34 @@ function smoothstep(n,a,b){ return t * t * (3.0 - 2.0 * t) } +function shuffle(a){ + for (var i = a.length; i > 0; i--){ + var r = randint(i) + var swap = a[i-1] + a[i-1] = a[r] + a[r] = swap + } + return a +} +function reverse(a){ + var reversed = [] + for (var i = 0, _len = a.length-1; i <= _len; i++){ + reversed[i] = a[_len-i] + } + return reversed +} +function deinterlace(a){ + var odd = [], even = [] + for (var i = 0, _len = a.length; i < _len; i++) { + if (i % 2) even.push(a[i]) + else odd.push(a[i]) + } + return [even, odd] +} +function weave(a){ + var aa = deinterlace(a) + var b = [] + aa[0].forEach(function(el){ b.push(el) }) + reverse(aa[1]).forEach(function(el){ b.push(el) }) + return b +} -- cgit v1.2.3-70-g09d2