gpt4 book ai didi

java - 检查矩形是否包含另一个具有特定边界间距的矩形

转载 作者:行者123 更新时间:2023-11-29 03:45:50 24 4
gpt4 key购买 nike

我正在尝试编写小程序来检查一个矩形是否包含第二个矩形,并且它们的边界之间的距离应小于某个特定数字,如 100 或 50。当我使用 Rectangle.contains 方法时,它不关心两个矩形边界之间的距离。有什么办法可以实现吗?

最佳答案

您可以使用 contains(Rectancle r)方法两次:首先检查内部矩形是否完全在外部矩形内部,然后将内部矩形临时扩大到每个方向阈值的一半,并再次进行相同的检查。这次它不应该再位于外部矩形内。所以基本上是这样的:

//Rectangle outer;  // Do some proper setup for these two
//Rectangle inner;
int limit = 50;
boolean containsWithinLimits = outer.contains(inner);
inner.setLocation(inner.getX()-limit/2, inner.getY()-limit/2);
inner.setSize(inner.getWidth()+limit, inner.getHeight()+limit);
boolean containsWithinLimits = containsWithinLimits && !outer.contains(inner);
// Now reset the bounds:
inner.setLocation(inner.getX()+limit/2, inner.getY()+limit/2);
inner.setSize(inner.getWidth()-limit, inner.getHeight()-limit);

关于java - 检查矩形是否包含另一个具有特定边界间距的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com