判断两个矩阵相交

最近在回顾hihocoder上自己做过的题,看到清理海报这道题目,http://hihocoder.com/problemset/problem/1273?sid=707390当初比赛做的时候感觉挺难的,今天看到难度才是lv2的时候小小震惊了一下,再仔细读一下题,才发现能撕掉海报的条件是四个角中至少有一个没有被覆盖,而不是有部分未被覆盖。以后要在桌子上写上“认真读题“四个大字了。

言归正传,这题目没什么难的,但是有一个小问题还是挺有意思的,就是如何判断两个矩阵相交?其中两个矩阵的边都是与坐标轴平行的。

首先来看一下如何判断两个区间相交。假设这两个线段区间分别为(x1,y1),(x2,y2),如果这两个区间有交集,那么交集部分应该是(x,y),其中x=max(x1,x2),y=min(y1,y2),换言之,如果max(x1,x2) < min(y1,y2),那么这两个区间有交集。

再来看一下如何判断两个矩阵相交。两个矩阵相交实际上就是两个矩阵有公共的面积,也就是说两个矩阵在x轴上的投影有交集,并且在y上的投影也有交集。投影是否有交集实际上就是区间是否有交集,这就是刚刚阐述的问题。这个问题就迎刃而解了。 用数学化的表达来说,如果矩阵用其左下角和右上角的点的坐标来表示。存在两个矩阵 A((x11,y11),(x21,y21)),B((x12,y12),(x22,y22)), 两个矩阵在x轴上的投影分别为 (x11,x21)和(x12,x22) 那么两个矩阵在x轴上的投影有交集的条件就是 max(x11,x12) < min(x21,x22) 同理,在y轴上的投影有交集的条件就是 max(y11,y12) < min(y21,y22) 那么两个矩阵有交集的条件就是 max(x11,x12) < min(x21,x22) && max(y11,y12) < min(y21,y22)

用matlab判断两个球是否相交,判断两个矩阵相交相关推荐

  1. 如何判断链表有环、如何判断两个链表相交

    如何判断单链表是否存在环 有一个单向链表,链表当中有可能出现"环",就像题图这样.如何用程序判断出这个链表是有环链表? 不允许修改链表结构. 时间复杂度O(n),空间复杂度O(1) ...

  2. 有苦有乐的算法 --- 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点

    题目 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点. 解析 第一步,判断链表是有环链表还是无环链表: 如果一个单链表无环,它一定有一个指向null的尾结点: 如 ...

  3. 判断单链表是否存在环以及两个链表是否相交

    有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环.如下图: 图1 有环的链表 问题:如何判断一个链表是不是这类链表?如果链表为存在环,如何 ...

  4. 单链表——判断两个单链表(无头节点)是否相交,如果相交,返回单链表的第一个结点

    本博客主要记录两个解法: 1.求两个单链表的节点个数,消除结点个数不同带来的影响,两个指针一起走,相遇即相交点. 2.数学方式求解. 一.求结点个数,消除结点个数不同带来的影响,俩指针同步走 思路:两 ...

  5. 判断线段相交(hdu1558 Segment set 线段相交+并查集)

    先说一下题目大意:给定一些线段,这些线段顺序编号,这时候如果两条线段相交,则把他们加入到一个集合中,问给定一个线段序号,求在此集合中有多少条线段. 这个题的难度在于怎么判断线段相交,判断玩相交之后就是 ...

  6. 判断矩形是否相交(包含,点相交,边相交)

    矩形的相交问题也是一个常用的问题,最近碰到的有点多,连续碰到了三四题了,每次都要重新写,不如直接总结出来,直接写成一个板子,以后就能抄了: 目前只考虑没有角度的矩形相交 首先是矩形的相交问题:矩形的相 ...

  7. 线段的逆时针方向(顺时针、正上方、正下方、线段上)、相交判断(图解)

    逆时针方向 给定3个点,构造出从同一起点的两条线段,判断两条线段的关系 这个关系包括逆时针.顺时针.重合,其中重合又包括点在线段正上方.正下方情况! 图示 图中都是以p0为源点,p0p1为基准线,判断 ...

  8. 两条线段相交判断学习理解

    两条线段相交判断学习理解 两条线段相交判断可以分为两步: 1,快速排斥实验 2,跨立实验 详细解释: 第一步检查以线段A为对角线的矩形和以线段B对角线的矩形是否相交,如果不相交则两条线段必然不相交,可 ...

  9. 七巧板复原算法——计算机图形学基本算法之二,线段相交判断

    判断线段相交,朴素的方法(初中直线方程的判断方法),就是先计算两条直线的交点,然后再判断交点是否在其中一条的线段上.这也是笔者能唯一想到的方法,后来抱着试试看有没有更好方法的想法,搜了一下网络.哦, ...

最新文章

  1. CNN tflearn处理mnist图像识别代码解说——conv_2d参数解释,整个网络的训练,主要就是为了学那个卷积核啊。...
  2. Cookie与Web Storage的区别
  3. Pandas转pivot, groupby等结果为dataFrame--彻底解决多表头问题
  4. 【火炉炼AI】机器学习007-用随机森林构建共享单车需求预测模型
  5. 操作多个表_8_不等值连接
  6. 前端学习(2150):webpack之配置babel
  7. 一个从文本文件里“查找并替换”的功能
  8. 编写第一个OpenACC程序
  9. java gwt教程_GWT入门教程
  10. 如何让 AI 产生意识?
  11. maven 排除某个类_java-如何从Maven依赖项中排除某些程序包(在JAR中)?
  12. 提供高速信号接口认证测试 GRL上海实验室成立
  13. PhotoMill X for Mac(图片批处理工具)
  14. WinXP下搭建适合Nokia开发的J2ME环境
  15. 黑苹果声音低、有杂音、爆音解决方案
  16. Win10运行红色警戒2尤里的复仇联机技巧+防守地图
  17. 面由心生,由脸观心:基于AI的面部微表情分析技术解读
  18. 22个免费的图表、流程图工具
  19. Halcon 第三章『Morphology形态学』◆第3节:顶帽运算与底帽运算
  20. androidx依赖aar报错

热门文章

  1. C++ API设计笔记
  2. 【哈密顿图】算法分析
  3. 亲身经历在国企搞IT:自我总结500页“Java成长笔记”,谁说待国企就是养老!?
  4. 目前商店巡店督导遇到的问题要怎么管理
  5. 不同域名间的session共享
  6. HiveSQL中级进阶常用技巧
  7. ssrs报表服务器数据库配置文件,ReportingServicesService 配置文件
  8. docker--privileged
  9. 基于HTML美中华传统文化题材网页项目的设计与实现 (纯HTML+CSS制作中国茶文化网站)...
  10. pip清华源(清华大学国内镜像)安装地址