<?php

$s = is_rect_intersect(1,2,1,2,4,5,0,3);
var_dump($s); /*
如果两个矩形相交,那么矩形A B的中心点和矩形的边长是有一定关系的。
Case 2345中,两个中心点间的距离肯定小于AB边长和的一半。
Case 1中就像等了。
设A[x01,y01,x02,y02]  B[x11,y11,x12,y12].
矩形A和矩形B物理中心点X方向的距离为Lx:abs( (x01+x02)/2 – (x11+x12) /2)
矩形A和矩形B物理中心点Y方向的距离为Ly:abs( (y01+y02)/2 – (y11+y12) /2)
矩形A和矩形B X方向的边长为 Sax:abs(x01-x02)  Sbx: abs(x11-x12)
矩形A和矩形B Y方向的边长为 Say:abs(y01-y02)  Sby: abs(y11-y12)
如果AB相交,则满足下列关系:
Lx <= (Sax + Sbx)/2 && Ly <=(Say+ Sby)/2
参考地址:https://blog.csdn.net/szfhy/article/details/49740191
*/
function is_rect_intersect($x01,$x02,$y01,$y02,$x11,$x12,$y11,$y12){
$zx = abs($x01+$x02-$x11-$x12);
$x = abs($x01 - $x02) + abs($x11 - $x12);
$zy = abs($y01 + $y02 - $y11 - $y12);
$y = abs($y01 - $y02) + abs($y11 - $y12);
if($zx <= $x && $zy <= $y){
return 1;
}else{
return 0;
}
}

最新文章

  1. jQuery EasyUI教程之datagrid应用(二)
  2. npm命令ionic安装失败cordova安装失败解决方法
  3. SELinux关闭和开启
  4. android: SQLite删除数据
  5. Android的init过程(二):初始化语言(init.rc)解析【转】
  6. CXF之三 Tomcat中发布Web Service
  7. POJ-3189-Steady Cow Assignment(最大流+枚举)
  8. 捕android程序崩溃日志
  9. css直接写出小三角
  10. WPF实现界面动态布局
  11. React中使用CSSTransitionGroup插件实现轮播图
  12. linux cut命令详解
  13. arcgis api 3.x for js 入门开发系列二十一气泡窗口信息动态配置模板
  14. kubernetes 安装metrics-server
  15. ZooKeeper如何完成分布式锁?
  16. EF切EFCore2.0存储过程问题
  17. WordPress版微信小程序2.0版本发布
  18. div的全屏与退出全屏
  19. 知识笔记:jQuery 事件对象属性小结
  20. 无法执行磁盘检查因为windows无法访问

热门文章

  1. JAVA操作cassandra数据库
  2. 面向对象(static关键字)
  3. WPF中数据绑定问题
  4. [hdu4738]求桥模板
  5. 【机器学习】文本分类——朴素贝叶斯Bayes
  6. shell程序---编译目录下全部.c或.cpp文件
  7. RPC原理与实践(一)----RPC原理与实现(Thrift版)
  8. @functions @model @using
  9. Flask中的后端并发思考(以Mysql:too many connections为例)
  10. [51nod] 1289 大鱼吃小鱼 堆栈-模拟