From 7987a459eb941e5b664859e4210565b72b3ff011 Mon Sep 17 00:00:00 2001 From: fkloft Date: Mon, 23 Feb 2015 13:13:03 +0100 Subject: [PATCH] [regions] instead of trying all cells, calculate x/y from distance according to the Hilbert curve also, refactoring to reduce duplicate code for level 4/6 cells --- plugins/regions.user.js | 96 ++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/plugins/regions.user.js b/plugins/regions.user.js index 4c2ec44b..cd897abb 100644 --- a/plugins/regions.user.js +++ b/plugins/regions.user.js @@ -120,6 +120,31 @@ window.plugin.regions.search = function(query) { }); } +// rot and d2xy from Wikipedia +window.plugin.regions.rot = function(n, x, y, rx, ry) { + if(ry == 0) { + if(rx == 1) { + x = n-1 - x; + y = n-1 - y; + } + + return [y, x]; + } + return [x, y]; +} +window.plugin.regions.d2xy = function(n, d) { + var rx, ry, s, t = d, xy = [0, 0]; + for(s=1; s