检查集合中矩形之间的任何冲突 我试图创建一个C++函数,控制n个矩形是否是碰撞的。N个矩形位于std::vector中。其思想是将向量的每个元素与其他元素进行比较(仅一次),以验证是否存在碰撞。 我已经实现了代码,但我正在寻找一个更好、更干净、更优雅的方式

检查集合中矩形之间的任何冲突 我试图创建一个C++函数,控制n个矩形是否是碰撞的。N个矩形位于std::vector中。其思想是将向量的每个元素与其他元素进行比较(仅一次),以验证是否存在碰撞。 我已经实现了代码,但我正在寻找一个更好、更干净、更优雅的方式,c++,c++11,vector,collision-detection,C++,C++11,Vector,Collision Detection,检查集合中矩形之间的任何冲突 我试图创建一个C++函数,控制n个矩形是否是碰撞的。N个矩形位于std::vector中。其思想是将向量的每个元素与其他元素进行比较(仅一次),以验证是否存在碰撞。 我已经实现了代码,但我正在寻找一个更好、更干净、更优雅的方式(我是C++新手)。 我的代码是: bool areCollisioningNRectangles(std::vector<Rectangle> rect) { const unsigned long size = rect

检查集合中矩形之间的任何冲突 我试图创建一个C++函数,控制n个矩形是否是碰撞的。N个矩形位于std::vector中。其思想是将向量的每个元素与其他元素进行比较(仅一次),以验证是否存在碰撞。 我已经实现了代码,但我正在寻找一个更好、更干净、更优雅的方式(我是C++新手)。 我的代码是:

bool areCollisioningNRectangles(std::vector<Rectangle> rect) {
    const unsigned long size = rect.size();

    for (int i = 0; i < size - 1; i++) {
        for (int j = i + 1; j < size; j++) {
            if (areCollisioningTwoRectangles(rect[i], rect[j])) {
                return true;
            }
        }
    }
    return false;
}
bool arecollingnRectangles(std::vector rect){
const unsigned long size=rect.size();
对于(int i=0;i
O(N^2)是可能的复杂性移动。你有多少个矩形?你可能需要一些类似于a的东西。我在屏幕上同时有大约100个矩形。我想为2d游戏创建一个简单的引擎。我已经读过四叉树。事实上,这是我想实施的下一步。我试图从基础开始,然后增加复杂性。尝试的方法是单元测试。