![](/img/trans.png)
[英]Math/ Algorithm/ JS: How to determine if 2+ rectangles intersect, given the TopLeft(x0, y0) and Bottom-Right(x1, y1) of each rectangle
[英]Algorithm to determine (x,y) coordinates for rectangles so the area of the surrounding rectangle is minimal?
我希望我的標題有意義,但這是我想要做的:
我有n
矩形,每個都有寬度為W n ,高度為H n我需要在二維(x,y)平面上排列,它們都適合的矩形占據的面積最小。 我還需要能夠確定(x,y)對應於什么矩形。
我更喜歡psuedo-code中的某些東西,但可以使用多種語言。
謝謝你的幫助。
這是一個要以最佳方式解決的難題,但是有一些解決方案並不太難實現,並且代表了許多用途(例如紋理)的良好近似。 嘗試谷歌搜索“矩形(角度)包裝”...你會發現很多代碼解決了這個問題。
對我來說聽起來很完整。 有點像背包問題。 這意味着沒有真正的解決方案。 只有很好的近似值。
它是2D紙盒包裝的變種。 您的容器靈活,允許更多優化,使其更具挑戰性(如困難)。 Drools Planner (開源java)可以處理這個問題。 存在至少一個帶有Drools Planner的實現(請參閱用戶郵件列表)(非開源)。 如果您需要一個開源示例,那么drools-planner-examples中的雲平衡可能就是一個很好的例子。
有關可以使用的算法的概述,請參閱我對類似問題的回答 。
您的問題被稱為2D包裝問題。 即使是一維問題也是NP難題。 請參閱此處以獲取有關某些方法的優秀文章以及示例C#代碼。
另外,請參閱以下問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.