具有平行於軸的矩形的列表形式(minx, miny, maxx, maxy)
:如何在python中找到矩形交點?
rectangles = [
Rectangle(90,40,110,70),
Rectangle(10,40,40,70),
Rectangle(75,60,95,80),
Rectangle(30,20,60,50),
Rectangle(100,20,130,50),
Rectangle(70,10,85,40)
]
我需要得到矩形的組,其中每個矩形具有至少一個其它相交的列表:
[
(Rectangle(10,40,40,70), Rectangle(30,20,60,50)),
(Rectangle(70,10,85,40)),
(Rectangle(75,60,95,80), Rectangle(90,40,110,70), Rectangle(100,20,130,50))
]
該算法可以不要太天真,它需要很快。
我的嘗試:
- 發現Python要間隔樹的實現 - 我無法找到什麼好...
- 我嘗試這樣做回購:https://github.com/booo/rectangleintersection/blob/master/rectangleIntersection.py,其工作原理與上面的例子,但無法與真正的世界數據。
- 我通過scikit image和Shapely文檔讀取,但沒有找到矩形交叉的算法。
每個矩形中的四個值是什麼?絕對不是2D平面上的一個點。 –
@PhamTrung:minx,miny,max,maxy – mnowotka
那麼這些矩形與Ox和Oy軸平行嗎? –