社区
JavaScript
帖子详情
如何判断两个矩形是否交叉?
itboy3000
2004-10-10 10:16:52
矩形ABCD A(X1,Y1)-C(X2,Y2)
矩形MNOP M(X3,Y3)-O(X4,Y4)
function IsCross(X1,Y1,X2,Y2,X3,Y3,X4,Y4){
//return true
//return false
}
...全文
207
9
打赏
收藏
如何判断两个矩形是否交叉?
矩形ABCD A(X1,Y1)-C(X2,Y2) 矩形MNOP M(X3,Y3)-O(X4,Y4) function IsCross(X1,Y1,X2,Y2,X3,Y3,X4,Y4){ //return true //return false }
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cxz7531
2004-10-11
打赏
举报
回复
to cybernaute(思客)
在计算机图形学中,一般考虑任意形状的四边形,而且可以任意摆放。必须采用矢量变换、微分几何的办法。这个例子很简单,只判断顶点就完事了
cxz7531
2004-10-11
打赏
举报
回复
刚才的程序有点小错,正确的如下
function IsCross(x1,y1,x2,y2,x3,y3,x4,y4){
if(
(isbet(x1,x3,x4) && isbet(y1,y3,y4)) ||
(isbet(x2,x3,x4) && isbet(y1,y3,y4)) ||
(isbet(x1,x3,x4) && isbet(y2,y3,y4)) ||
(isbet(x2,x3,x4) && isbet(y2,y3,y4))
)
{
return true;
}else
{
return false;
}
}
function isbet(a,b,c){
if((a<c ) && (a>b)){
return true;
}else{
return false;
}
}
cybernaute
2004-10-11
打赏
举报
回复
计算机图形学里也是用的这种方法,没错的。
直接判断顶点吧!
cxz7531
2004-10-11
打赏
举报
回复
function IsCross(X1,Y1,X2,Y2,X3,Y3,X4,Y4){
if(
((x3<x1<x4) && (y3<y1<y4)) ||
((x3<x2<x4) && (y3<y1<y4)) ||
((x3<x1<x4) && (y3<y2<y4)) ||
((x3<x2<x4) && (y3<y2<y4))
)
{
return true;
}else
{
return false;
}
}
风斧
2004-10-11
打赏
举报
回复
看来楼主对纲领性的意见不感兴趣。
gaofaq
2004-10-11
打赏
举报
回复
一个包含于另一个算交叉不?
笨笨兔兔兔兔兔
2004-10-11
打赏
举报
回复
如果x1<x2 and x3<x4 and y1<y2 and y3<y4 ,我那天写的就是对的
如果不是的话可以交换一下再判断
风斧
2004-10-11
打赏
举报
回复
最笨的方法:直接根据顶点坐标,写上一堆|| &&
好的方法:我想不出来。
是是非非
2004-10-11
打赏
举报
回复
function IsCross(x1,y1,x2,y2,x3,y3,x4,y4){
return ((isbet(x1,x3,x4) && isbet(y1,y3,y4)) ||
(isbet(x2,x3,x4) && isbet(y1,y3,y4)) ||
(isbet(x1,x3,x4) && isbet(y2,y3,y4)) ||
(isbet(x2,x3,x4) && isbet(y2,y3,y4)));
}
function isbet(a,b,c){return ((a<c ) && (a>b));}
判断
两个
矩形
是否
交叉
(包括包含的情况)
转自:https://www.cnblogs.com/avril/archive/2012/11/13/2767577.html 问题:给定
两个
矩形
A和B,
矩形
A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),
矩形
B的左上角坐标为(Xb1,Yb1),右下角坐标为(Xb2,Yb2)。 (a)设计一个算法,确定
两个
矩形
是否
相交(即有重叠区域) (b)如果
两个
矩形
相交,设计一个算法,求...
[cocos2d-x]
判断
两个
矩形
是否
有
交叉
区域
bool Rect::intersectsRect(const Rect& rect) const { return !( getMaxX() < rect.getMinX() || rect.getMaxX() < getMinX() || getMaxY() < rect.getM...
判断
两
矩形
是否
交叉
(包括包含的情况)
问题:给定
两个
矩形
A和B,
矩形
A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),
矩形
B的左上角坐标为(Xb1,Yb1),右下角坐标为(Xb2,Yb2)。(1)设计一个算法,确定
两个
矩形
是否
相交(即有重叠区域)(2)如果
两个
矩形
相交,设计一个算法,求出相交的区域
矩形
(1)对于这个问题,一般的思路就是
判断
一个
矩形
的四个顶点
是否
在另一个
矩形
的区域内。这个思路最简单,但是效率不高,并且存在错误,错误在哪里,下面分析一下。如上图,把
矩形
的相交(区域重叠)分成三种(可能也有其他划分),对于第三种情况,
[转]
判断
两
矩形
是否
交叉
(包括包含的情况)
来源:http://blog.sina.com.cn/s/blog_633d17900100hqi8.html
问题:给定
两个
矩形
A和B,
矩形
A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),
矩形
B的左上角坐标为(Xb1,Yb1),右下角坐标为(Xb2,Yb2)。
(1)设计一个算法,确定
两个
矩形
是否
相交(即有重叠区域)
(2)如果
两个
矩形
相交,设计一个算法,求出相交的区域
矩形
(1)对于这个问题,
[zz]
判断
两
矩形
是否
交叉
(包括包含的情况)
问题:给定
两个
矩形
A和B,
矩形
A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),
矩形
B的左上角坐标为(Xb1,Yb1),右下角坐标为(Xb2,Yb2)。(1)设计一个算法,确定
两个
矩形
是否
相交(即有重叠区域)(2)如果
两个
矩形
相交,设计一个算法,求出相交的区域
矩形
(1)对于这个问题,一般的思路就是
判断
一个
矩形
的四个顶点
是否
在另一个
矩形
的区域内。这个思路最简单,但是效率不高,并且存...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章