当我决定使用 java.awt.Rectangle 计算两个矩形之间的交点时,我正在开发一项任务。
我意识到输出与我的预期不同。我不确定我是否理解这种方法的工作原理。
对于此处示例中的值
java.awt.Rectangle[x=0,y=10,width=5,height=8]
java.awt.Rectangle[x=3,y=15,width=17,height=14]
我希望交叉点是,java.awt.Rectangle[x=3,y=10,width=2,height=8]
但程序会打印出来java.awt.Rectangle[x=3,y=15,width=2,height=3]
!
这是我的代码:
public void printIntersection(){
Rectangle r1 = new Rectangle(0, 10, 5, 8);
Rectangle r2 = new Rectangle(3, 15, 17, 14);
Rectangle r3 = r1.intersection(r2);
System.out.println(r1);
System.out.println(r2);
System.out.println(r3);
}
任何人都可以通过指出我在这里缺少什么来帮助我吗?
更新:我困惑的根源是代码将构造函数中的 (x,y) 值视为左下角,而类文档建议它们是左上角!