2.0.1 • Published 5 years ago
wbroberts-quadtree v2.0.1
Quadtree
Check out a live demo of this quadtree being in action with a canvas element.
npm install wbroberts-quadtree
import { Quadtree, Boundary } from 'wbroberts-quadtree';
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 500;
canvas.height = 500;
const qTree = new Quadtree(
{ x: 0, y: 0, width: canvas.width, height: canvas.height },
ctx,
4
);
const point = { x: 10, y: 10, radius: 10, data: null };
qTree.insert(point); // Inserts it into the quadtree. If the quadtree has more than 4 points, it divides into four more quadtrees.
const area = new Boundary({
x: 0,
y: 0,
width: 20,
height: 20,
});
const query = qTree.query(area);
console.log(query); // [{ x: 10, y: 10, radius: 10, data: null }]
const area2 = new Boundary({
x: 20,
y: 20,
width: 20,
height: 20,
});
const query2 = qTree.query(area2);
console.log(query2); // []
This was a project to learn more about data structures, specifically quadtrees (obviously). My goal was to successfully create one that I would be able to use in 2d canvas games for the web (primarily mine). Check out the link up above to see it working in action.
2.0.1
5 years ago
2.0.0
5 years ago
0.0.1
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.25
5 years ago
1.0.24
5 years ago
1.0.23
5 years ago
1.0.22
5 years ago
1.0.21
5 years ago
1.0.20
5 years ago
1.0.2
5 years ago
1.0.19
5 years ago
1.0.18
5 years ago
1.0.17
5 years ago
1.0.16
5 years ago
1.0.15
5 years ago
1.0.14
5 years ago
1.0.13
5 years ago
1.0.12
5 years ago
1.0.11
5 years ago
1.0.10
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago