您的位置:首页 > 其它

d3,四叉树,quadtree

2015-04-28 12:52 405 查看
四叉树是一种二维空间的递归划分,应用在计算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是遍历函数,可以遍历所有节点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: