【算法】两矩形相交的判定
某好友近日初学程序设计语言时,问了我如题的问题,他的解法是直接暴力模拟所有的情况,然后再进行判定
思绪良久,其实可以直接判定两个矩形的中心距离,然后判断其是否皆小于两矩形长的和的一半 和 宽的和的一半 即可;
#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;int main()
{double x1,x2,x3,x4,y1,y2,y3,y4;/*1 左右 2 左右 1 下上 2 下上*/double length=0,x1length=0;cin>>x1>>x2>>x3>>x4>>y1>>y2>>y3>>y4;length = sqrt( ( abs(x1+x2-x3-x4)/2 * abs(x1+x2-x3-x4)/2 ) + ( abs(y1+y2-y3-y4)/2 * abs(y1+y2-y3-y4)/2 ) );/* calculate length */if( ( length<( abs(x2-x1)+abs(x4-x3) )/2 ) && ( length< ( abs(y2-y1) + abs(y4-y3) )/2 ) ){printf("相交\n");}else{printf("不相交\n");}return 0;
}
【算法】两矩形相交的判定相关推荐
- [面试]——用一行代码判断两矩形是否相交
typedef struct {int left;// leftmost: 最左int top;// topmost: 最上int right;// rightmost: 最右int bottom;/ ...
- 计算机与数学 —— 圆与矩形相交判定算法的优化
这篇博客介绍了用于判定圆与矩形相交的Arvo's algorithm的优化版本以及对应思路. Arvo's Algorithm 在用于判定圆与AABB矩形的判定中,Arvo提出的算法被广泛运用.关于这 ...
- 如何判断两个矩形相交
假定矩形是用一对点表达的(minx, miny) (maxx, maxy),那么两个矩形 rect1{(minx1, miny1)(maxx1, maxy1)} rect2 ...
- 判断两个矩形相交以及求出相交的区域
问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...
- java判断两个矩形是否相交_判断矩形相交以及求出相交的区域
问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...
- c语言两个矩形相交部分坐标,C++判断矩形相交的方法
本文实例讲述了C++判断矩形相交的方法.分享给大家供大家参考.具体如下: 已知2矩形原点和宽高,判断2矩形相交,相交矩形 相交判断原理: 假定矩形是用一对点表达的(minx, miny) (maxx, ...
- 几何算法:矩形碰撞和包含检测算法
大家好,我是前端西瓜哥.今天来讲讲几何算法中,比较经典的算法:矩形碰撞和包含检测算法. 矩形碰撞检测是被广泛使用的算法. 比如在游戏中,为了优化图形碰撞判断效率(复杂不规则图形之间的碰撞算法很复杂), ...
- Square Card 计算几何-两圆相交面积
题意 : 给两个圆,分别代表得分区域和奖励区域,边长为a的正方形以均等概率扔到平面后绕中心旋转,保证一定会有某时刻正方形完全在得分区域内. 如果某时刻正方形完全落在区域内,获得相应分数,求正方形 既获 ...
- 算法的浪漫 - 相交链表
算法的浪漫 - 相交链表 --如果你和我时空相交,我们终会在某个点相遇 空间复杂度 O(1) 时间复杂度为 O(n) 这里使用图解的方式,解释比较巧妙的一种实现. 根据题目意思 如果两个链表相交,那么 ...
- python求交点坐标_Python - 两圆相交求交点坐标
Python - 两圆相交求交点坐标 Max.Bai 2016-05-16 Python - 两圆相交求交点坐标 三轴机械臂求坐标问题,其实转化为平面问题就是两圆相交求交点问题,交点算出来就可以用反三 ...
最新文章
- OpenStack Ocata Release Notes
- 基于Pytorch再次解读NiN现代卷积神经网络和批量归一化
- 利用推送测试工具,测试推送是否写好
- what can be learned from a friend?
- 【转载】十年学会编程
- JQuery Highcharts图表控件使用说明
- SQLServer中round函数
- java编程 数组的中位数中枢_Java算法题1:找出两个有序数组的中位数?
- idea 集成svn
- windows怎么删除服务, OpenService 失败 5,拒绝访问解决
- 二分类变量相关性分析spss_SPSS-两变量相关性分析
- 计算机网络显示正常 但无法上网怎么办,如何解决显示网络已连接但无法上网...
- web指纹识别技术研究与优化实现
- CMS 常见问题分析和解决方案
- CVPR2019目标检测方法进展
- 【stm32f429igt6】的WiFi模块数据收发。
- 新监管新纪元 大浪淘沙始见金——“9·4”政策回顾·行业前瞻
- 第03章 Tableau基础操作
- 【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务
- 10055 - Hashmat the Brave Warrior
热门文章
- 淘宝API 优惠券查询
- opper、vivo手机微信小程序扫码后请求后台报400错误
- wincc逻辑运算符_wincc中表达式及公式
- openpcdet KeyError: ‘road_plane‘
- winows+Eclipse下Mahout配置
- 超详细的cookie属性HttpOnly和SameSite引起的漏洞解决方案
- matlab画基尼系数,matlab 拟合洛伦兹曲线求基尼系数
- idea全局查找字段
- 用html代码在word中插入分页符,Word文档中插入分页符并对分页方式进行设置的方法...
- 如何用公式计算计算机的及格率,及格率和优秀率公式 在excel中如何计算及...