我正在编写一些有趣的代码,用于在画布中放置矩形。 每个矩形都与其他矩形不相符,并由此表示:
rect = [x,y,w,h]
你可能已经猜到了,x和y是矩形左下角平面中的x,y坐标,w和h是矩形的宽度和高度。
我可以轻松地进行碰撞检查,因为它们都是直角(没有杂散的浮动矩形......)
现在,我的问题是,有一个像这样的矩形列表,我可以使用什么算法来确定它们包含的其他子矩形。 让我试着用一个例子来解释。 让我说我有:
rectangleList = [[1,0,4,2],[5,0,2,1]]
我有两个可以这样表示的矩形:
y . . . . . . . .
. . . . . . . .
. 1 1 1 1 . . .
0 . 1 1 1 1 2 2 .
0 x
如何确定我可以在这两个上方放置6宽1高的矩形? (连接矩形1和2)就像在1 1 1 1 2 2之上一样
我想我可以在每个位置创建和自动化测试,以查看矩形是否溢出或者其他东西,但它看起来效率不高。
我想我要问的是第三个矩形尺寸,连接其他两个尺寸的正确方法是什么,看看它们是否可以容纳这个新的矩形。