在桌面上安装窗口的算法(如瓷砖)

Svi*_*ack 8 algorithm tiling packing

我搜索算法来解决这样的问题:

我有几个窗户,每个窗户都可以移动和重新调整尺寸,但宽度和高度之间的比例,例如.2:1(高度:宽度).

每个窗口都不能在其他窗口上,所有窗口必须完全可见.自由区域(桌面壁纸可见性)必须最小化.

谁能告诉我这类问题需要什么算法?

问候,

Hig*_*ark 3

另一种方法可能比打包更容易实现,即将屏幕尺寸细分为所需数量的窗格,然后在窗格内安装一个满足其他要求的窗口。由于您可能随时打开少量窗口,并且屏幕不会动态更改其大小,因此您可以预先计算 1 到 O(100) 个打开窗口所需的所有安排。