我有两个矩形,我想弄清楚它们在哪一边相交。我可以使用 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
彼此完全重叠。
因此,您需要结合矩形的位置及其大小来确定矩形相交的准确位置。
最好的办法就是尝试在纸上解决这个问题。然后编写您的代码,如果您有任何问题,请将其发布,有人会提供帮助。发布答案时,只需编辑原始帖子并进行更改即可。
关于java - 与 Java AWT 的矩形交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62473324/