javaawt的矩形交点
我有两个矩形,我想知道它们在哪一边相交。我可以使用javaawt的矩形交点,java,awt,java-2d,Java,Awt,Java 2d,我有两个矩形,我想知道它们在哪一边相交。我可以使用Rectangle.intersects(Rectangle),但它只告诉我矩形是相交的。我试图做的是检查矩形是否在x轴或y轴上相交,但我不确定如何做。我建议只使用一些基本数学来确定矩形在哪里相交 矩形具有位置(左上角)、宽度和高度 假设R1位于(10,20),R2位于(40,50)。由于R1在R2的左侧和上方,因此这意味着如果R2与R1相交,R2必须在R1的右侧和/或下方相交 但是如果R2没有R1那么宽,它可能只在R1的底部相交 或者,如果R
Rectangle.intersects(Rectangle)
,但它只告诉我矩形是相交的。我试图做的是检查矩形是否在x轴或y轴上相交,但我不确定如何做。我建议只使用一些基本数学来确定矩形在哪里相交
矩形具有位置(左上角)、宽度和高度
- 假设
位于R1
,(10,20)
位于R2
。由于(40,50)
在R1
的左侧和上方,因此这意味着如果R2
与R2
相交,R1
必须在R2
的右侧和/或下方相交R1
- 但是如果
没有R2
那么宽,它可能只在R1
的底部相交R1
- 或者,如果
没有R2
高,则它可能仅在R1
的右侧相交R1
- 还有一种可能性是,
和R1
完全重叠R2
最好的办法是在纸上写出来。然后写你的代码,如果你有任何问题,发布它,有人会帮助你。在发布答案时,只需编辑带有更改的原始帖子。我建议只使用一些基本数学来确定矩形相交的位置 矩形具有位置(左上角)、宽度和高度
- 假设
位于R1
,(10,20)
位于R2
。由于(40,50)
在R1
的左侧和上方,因此这意味着如果R2
与R2
相交,R1
必须在R2
的右侧和/或下方相交R1
- 但是如果
没有R2
那么宽,它可能只在R1
的底部相交R1
- 或者,如果
没有R2
高,则它可能仅在R1
的右侧相交R1
- 还有一种可能性是,
和R1
完全重叠R2
最好的办法是在纸上写出来。然后写你的代码,如果你有任何问题,发布它,有人会帮助你。在发布答案时,只需编辑带有更改的原始帖子。您知道如何判断图表上的一点相对于另一点的位置吗?例如,通过比较x1和x2以及y1和y2。对于矩形也可以这样做。当然,如果它们完全重叠,您将不知道输入的是哪一侧(假设它们朝着另一侧移动)。@WJS这是我第一次使用堆栈溢出,我不确定如何响应答案。你的意思是像距离公式一样,检查到角点的距离是否为0或更小,并返回哪个角点的枚举值?你知道如何判断图形上的一个点相对于另一个点的位置吗?例如,通过比较x1和x2以及y1和y2。对于矩形也可以这样做。当然,如果它们完全重叠,您将不知道输入的是哪一侧(假设它们朝着另一侧移动)。@WJS这是我第一次使用堆栈溢出,我不确定如何响应答案。你的意思是像距离公式一样,检查到角点的距离是否为0或更小,并返回哪个角点的枚举值?