d3,四叉树,quadtree

来源:互联网 发布:c# 软件自动化 编辑:程序博客网 时间:2024/06/05 02:23

四叉树是一种二维空间的递归划分,应用在计算n体的力,或者碰撞检测。


http://bl.ocks.org/patricksurry/6478178 

以最近邻查找为例子。

var quadtree = d3.geom.quadtree()    .extent([[-1, -1], [width + 1, height + 1]])    (data);//初始化

extent是空间范围映射

后面是数据

 quadtree.visit(function(node, x1, y1, x2, y2) {    node.x1 = x1;    node.y1 = y1;    node.x2 = x2;    node.y2 = y2;    nodes.push(node);    for (var i=0; i<4; i++) {        if (node.nodes[i]) node.nodes[i].depth = node.depth+1;    }  });
visit是遍历函数,可以遍历所有节点

0 0
原创粉丝点击