假设我们有两个矩形,用左下角和右上角定义.例如:rect1(x1,y1)(x2,y2)和 rect2(x3,y3)(x4,y4).我正在尝试找到相交矩形的坐标(左下角和右上角).
任何想法,算法,伪代码,将不胜感激.
ps我发现了类似的问题,但只检查了2个矩形是否相交.
抱歉这个糟糕的头衔.Java applet的目的是这样的:一个球在屏幕上弹跳.这个球的大小和速度可以通过滚动条改变.用户可以在屏幕上按下并拖动鼠标以绘制矩形.球也将从这些矩形反弹.这些矩形的边界存储在矢量中.单击矩形时,将从矢量(和屏幕)中删除它(以及该点处的所有其他矩形).
我遇到的问题有两个:一,当我点击一个矩形去除它时,它不会被删除,但这可以在以后解决.
二:球不会像它应该的那样从矩形反弹.当我在与球相同的行或列中绘制一个矩形时,球会在一个小矩形内部反弹,就像它被卡住一样.
这是我的代码,用于检测球是否正在击中小程序或任何矩形的边界:
public void move()
{
//if it will hit the right or left boundary, flip the x direction and set it
if (loc.x+size >= boundx || loc.x <= 0)
{ dx *= -1; }
//if it will hit the top or bottom boundray, flip the y direction and set it
if (loc.y+size >= boundy || loc.y <= 0)
{ dy *= -1; }
for (int i = 0; i < r.size(); i++)
{
temp = new …
Run Code Online (Sandbox Code Playgroud)