Quadtree para detecção de colisão 2D

Estou tentando usar um quadtree para detecção de colisão 2D, mas estou um pouco perplexo em como implementá-lo. Primeiro de tudo, eu teria uma quadtree que contém quatro subárvores (uma representando cada quadrante), bem como uma coleção de objetos que não cabem em uma única subárvore.

Ao verificar um objeto em busca de colisões na árvore, eu faria algo assim (graças aQuadTree para detecção de colisão 2D):

Verifique o objeto para colisões com quaisquer objetos no nó atual.Para qualquer subárvore cujo espaço se sobreponha ao objeto, recorra.

Para encontrar todas as colisões dentro de uma árvore quadtree:

Verifique cada objeto no nó atual em relação ao outro objeto no nó atual.Verifique cada objeto no nó atual em relação a cada subárvore.

Para inserir em um quadtree:

Se o objeto se encaixar em várias subárvores, adicione-o ao nó atual e retorne.Caso contrário, recorra para qualquer subárvore que a contenha.

Para atualizar um quadtree:

Recursar em cada subárvore.Se algum elemento no nó atual não couber mais completamente na árvore atual, mova-o para o pai.Se algum elemento no nó atual se encaixar em uma subárvore, insira-o na subárvore.

Está tudo bem? Pode ser melhorado?

questionAnswers(3)

yourAnswerToTheQuestion