对于我正在写的游戏,我在非方形地图上使用四叉树。四叉树用于在给定的最大值内查找相邻单位以进行碰撞检测,攻击敌人,最近的基地等。半径(圆圈)。
我想知道的是,如果由四边形而不是正方形构成四叉树的性能问题?矩形地图不是将方形地图划分为正方形,而是在四叉树中划分为相同大小的矩形。
矩形地图上的方形四叉树:将创建一个填充整个地图的四叉树,但根据地图的方向(水平与垂直)在左侧或底部使用空/非使用区域。这将需要更多的填充方块(?),并且在搜索期间也可能对性能产生影响?
与矩形地图匹配的矩形四叉树:四叉树将完美地填充地图。但是,这样做会影响性能吗?鉴于我们搜索使用的是适合方形而不是矩形的半径,可能会导致搜索速度变慢?另外,宽度和宽度都是高度必须存储在每个四叉树节点中,因为它们是非方形的。
问题: 将四叉树转换成方形更好吗?我认为使用矩形的城市可能没事,但我不确定?
答案 0 :(得分:0)
我确定两种选择都没问题。从您的示例来看,您的数据集看起来相当小,只有几十个条目,可能是100?
需要考虑的一些事项:
总之,问题可能不是关于方形/矩形四叉树,但是当数据通常位于象限边界时应该小心。