Geometry 矩形马赛克
我有一个大窗户,里面有n个小窗户。任务是放置小窗户,使它们之间没有交叉点,或者说这是不可能做到的 所有窗口都是矩形的,并且具有所有顶点的坐标 我知道判断一个矩形是否和其他矩形相交是多么容易。只要看看是否包含任何其他矩形中顶点的坐标就足够了 但这里是如何找到一个可以移动这个矩形的自由区域 在我的例子中,小窗口出现在大窗口中。问题看起来是这样的。Geometry 矩形马赛克,geometry,Geometry,我有一个大窗户,里面有n个小窗户。任务是放置小窗户,使它们之间没有交叉点,或者说这是不可能做到的 所有窗口都是矩形的,并且具有所有顶点的坐标 我知道判断一个矩形是否和其他矩形相交是多么容易。只要看看是否包含任何其他矩形中顶点的坐标就足够了 但这里是如何找到一个可以移动这个矩形的自由区域 在我的例子中,小窗口出现在大窗口中。问题看起来是这样的。 一个微不足道的解决方案就是暴力。取所有小矩形的排列,一次一个放置在最左上方的位置。如果你成功地放置了它们,你就有了一个解决方案。如果失败,则返回到下一个排
一个微不足道的解决方案就是暴力。取所有小矩形的排列,一次一个放置在最左上方的位置。如果你成功地放置了它们,你就有了一个解决方案。如果失败,则返回到下一个排列并重试。如果你没有选择,那么你就失败了。这将起作用,但显然,当矩形的数量增加时,它将很快无法使用 一个微不足道的解决方案就是暴力。取所有小矩形的排列,一次一个放置在最左上方的位置。如果你成功地放置了它们,你就有了一个解决方案。如果失败,则返回到下一个排列并重试。如果你没有选择,那么你就失败了。这将起作用,但显然,当矩形的数量增加时,它将很快无法使用 这看起来有点像个问题。 有很多人可以帮忙 不同之处在于,您处理的是UI,而不是纹理或其他问题。您可以使用上面提到的解决方案,但我认为您需要某种过渡动画,以便用户看到/了解他/她的所有窗口的最终位置 我想这取决于这个功能是如何工作的。是否允许用户首先与窗口相交 我想所有的矩形都需要放进一个大的(显示器) 我一直在桌子上玩不同大小的长方形纸,我想到了以下几点: 1st确定您是否有足够的空间:将剩余空间分割为矩形,添加矩形区域,然后检查空间区域是否大于或等于相交区域。如果是,请继续
其余方向(如左、左上、左上等)
这看起来有点像个问题。 有很多人可以帮忙 不同之处在于,您处理的是UI,而不是纹理或其他问题。您可以使用上面提到的解决方案,但我认为您需要某种过渡动画,以便用户看到/了解他/她的所有窗口的最终位置 我想这取决于这个功能是如何工作的。是否允许用户首先与窗口相交 我想所有的矩形都需要放进一个大的(显示器) 我一直在桌子上玩不同大小的长方形纸,我想到了以下几点: 1st确定您是否有足够的空间:将剩余空间分割为矩形,添加矩形区域,然后检查空间区域是否大于或等于相交区域。如果是,请继续
其余方向(如左、左上、左上等)