坐标象限法判断矩形之间最短的距离

引言先说自己,本人之前是做美术的,应为爱好游戏开发后来就毅然决然的选择了编程这条路,也是15年才入的编程这个坑,如果有错误的地方希望大神们帮忙指出,以免我自己错的越来越远。 最近研究随机地闹算法,其中有用到矩形的叠加判断和距离获取等,虽然现在基本的矩形类都有带这一块的功能,本人抱着学其原理的心态打算自己研究并做一套比较高效的算法,如果相关的文章网上已经有了那就是大家的缘分了。坐标象限法判断矩形之间
摘要由CSDN通过智能技术生成

引言

先说自己,本人之前是做美术的,应为爱好游戏开发后来就毅然决然的选择了编程这条路,也是15年才入的编程这个坑,如果有错误的地方希望大神们帮忙指出,以免我自己错的越来越远。
最近研究随机地闹算法,其中有用到矩形的叠加判断和距离获取等,虽然现在基本的矩形类都有带这一块的功能,本人抱着学其原理的心态打算自己研究并做一套比较高效的算法,如果相关的文章网上已经有了那就是大家的缘分了。

坐标象限法判断矩形之间最短的距离

大家应该都知道坐标系分为四个象限(Quadrant)
其实这是一种很简单矩形距离算法,大概分为以下几个步骤:
1. 以其中一个矩形的的左下点为原点做一个2维坐标系,判断另外一个矩形的左下点在这个坐标系的哪个象限(其他点也可以,但是被比较的也得是相同的点);
2. 根据所在不同的象限分别在矩形上取不同的一个点作为比较;
3. 对取到的两个点做向量的减法运算;
4. 通过判断的相减后的向量来的到两个矩形的距离;
代码如下:

// 取两个矩形的距离 如果相交返回-1 否则返回两矩形距离
int Distance(Rect rect1
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值