michalsanger/quadtree

一个易于修改的具有标准2D实现的Quadtree。

v0.7.0 2014-10-28 23:31 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:49:19 UTC


README

一个易于修改的 Quadtree,具有标准的2D实现。

用法

标准的2D碰撞检测支持点和边界(矩形区域)

use \Quadtree\Quadtree;
use \Quadtree\Geometry\Bounds;
use \Quadtree\Geometry\Point;

$qtBounds = new Bounds(1024, 1024);
$qt = new Quadtree($qtBounds);

$qt->insert(new Bounds(300, 200)); // TRUE
$qt->insert(new Bounds(100, 50, 20, 10)); // FALSE
$qt->insert(new Point(250, 100)); // FALSE
$qt->insert(new Point(2000, 500)); // FALSE
$qt->insert(new Point(299, 199)); // TRUE

需要更多的碰撞检测逻辑?创建自己的 ICollisionDetector。需要插入其他对象而不是点和边界?实现 Insertable 接口。

API

查看文档

安装

使用Composer

composer require michalsanger/quadtree

测试

由于 Nette Tester,测试简单且易于阅读。运行

> vendor/bin/tester tests/