Quadtree в JavaScript - PullRequest
       31

Quadtree в JavaScript

3 голосов
/ 24 июля 2010

Я работал в jQuery, и мне дали этот код для дерева квадрантов в javascript:

map = array(
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4))
);

map[0][3][3] = "END OF ARRAY 1";
map[1][3][3] = "END OF ARRAY 2";

Однако для меня это выглядит как трехмерный массив, я что, глупый? ^. ^

Ответы [ 2 ]

6 голосов
/ 24 июля 2010

Поскольку все узлы имеют ровно четыре дочерних элемента , это равно квадродереву.Это также трехмерный массив, поскольку он имеет три уровня глубины.

1 голос
/ 10 ноября 2013

Так что технически это является квадродеревом, но это не то, чего большинство людей ожидают, если вы скажете "вот какой-то код квадродерева".

Код Quadtree обычно означает класс, который обрабатывает построение такого дерева, вставляя объекты с 2D-координатами, а затем находя пересекающиеся или близлежащие объекты.

например. см http://www.mikechambers.com/blog/2011/03/21/javascript-quadtree-implementation/

...