用js写了一个判断矩形相交的函数

来源:互联网 发布:域名备案查询 编辑:程序博客网 时间:2024/05/16 00:52

基本思想

求两个矩形是否相连或相交,两个矩形的最小外包矩形宽小于两个矩形宽的和,且两个矩形最小外包矩形的的高小于两个矩形高的和,则两个矩形相交。
外包矩形的宽等于两个矩形的y轴最大值减去y轴的最小值。
外包矩形的高等于两个矩形的x轴最大值减去x轴最小值。
y轴最小值为两矩形左上角取小者,最大值为两矩形左上角加高取大值。
x轴最小值为两矩形左上角取小者,x轴最大值为两矩形左上角加宽取大值。两个矩形的宽的和小于最小外包矩形的宽,不相交
两个矩形的宽的和、高的和小于最小外包矩形的宽、高。相交

具体代码实现

    var collide = function(rect1,rect2) {        var maxX,maxY,minX,minY        maxX = rect1.x+rect1.width >= rect2.x+rect2.width ? rect1.x+rect1.width : rect2.x+rect2.width        maxY = rect1.y+rect1.height >= rect2.y+rect2.height ? rect1.y+rect1.height : rect2.y+rect2.height        minX = rect1.x <= rect2.x ? rect1.x : rect2.x        minY = rect1.y <= rect2.y ? rect1.y : rect2.y        if(maxX - minX <= rect1.width+rect2.width && maxY - minY <= rect1.height+rect2.height){          return true        }else{          return false        }      }
阅读全文
0 0
原创粉丝点击