【发布时间】:2016-08-19 08:48:26
【问题描述】:
我正在阅读有关 QuadTrees 以及如何使用它们进行更好的碰撞检测的一些内容。但是我不明白为什么 QuadTrees 会给我带来更多的性能。 我正在 2D 游戏中尝试这个。
如果我使用四叉树,我必须在每一帧上清除四叉树并插入我的所有对象,然后循环遍历它以获取所有可能的碰撞对象。然后循环通过它来获得我需要的碰撞对象。 为什么这比遍历我的所有对象更好? 对于 QuadTree,如果我是对的,我需要 O(n logn)。但是遍历我所有对象的循环是 O(n)
问候
【问题讨论】:
-
虽然这是一个非常酷且引人入胜的问题,但我认为它与 StackOverflow 的主题无关。您可能在gamedev.stackexchange.com 上运气更好。简而言之,QuadTrees 可以帮助限制您需要检查碰撞检测的对象数量,从而提高性能。如果您必须针对场景中的每个对象进行检查,碰撞检测的成本就会很高。 mikechambers.com/blog/2011/03/21/…
标签: javascript collision quadtree