【问题标题】:Why is a Point-Region Quadtree search (for collision detection) linearithmic time?为什么点区域四叉树搜索(用于碰撞检测)线性时间?
【发布时间】:2021-07-09 04:59:16
【问题描述】:

四叉树完全创建后,为什么比较操作(用于n对象的碰撞检测)需要线性n log(n)时间?节点按区域/象限递归拆分,搜索将向下扫描树,修剪不在搜索坐标内的路径,最终在碰撞节点的边界内找到或未找到目标节点。每个操作都在比较一个划分的分区n,这似乎是log(n) 时间,而不是n log(n)

【问题讨论】:

  • 你说什么时间?是时候为 n 个物体寻找碰撞了吗?寻找特定物体与其他物体的碰撞?
  • @MBo 发现 n 对象的冲突

标签: javascript algorithm quadtree


【解决方案1】:

要查找n 对象的所有碰撞(以及在最坏的情况下显示任何一次碰撞),应该执行大约n 操作 - 检查每个对象的附近。

正如您所写,每次此类检查都需要 O(logn) 时间,因此总时间达到 O(nlogn)

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2015-03-25
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2013-05-30
    • 2017-04-26
    • 2016-02-24
    • 2012-04-03
    相关资源
    最近更新 更多