gpt4 book ai didi

c++ - 碰撞检测和时间复杂度 : How do I make checking for collisions easier?

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:16 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来处理各种对象的检测。这些对象具有原点、宽度、高度和速度。有没有一种方法可以设置数据结构/算法,以便每个对象都不会与其他所有对象进行检查?

我试图避免的问题的一些示例代码:

for (int i = 0; i < ballCount; i++)  
{
for (int j = i + 1; j < ballCount; j++)
{
if (balls[i].colliding(balls[j]))
{
balls[i].resolveCollision(balls[j]);
}
}
}

最佳答案

您可以使用 quadtree快速找到与另一个矩形相交的所有矩形。如果你需要处理非矩形形状,你可以先找到bounding boxes的对象相交。

Some common uses of quadtrees

  • ...
  • Efficient collision detection in two dimensions
  • ...

关于c++ - 碰撞检测和时间复杂度 : How do I make checking for collisions easier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com