c++ - 矩形交点。空交叉口的打印消息
问题描述
我有四个坐标:x,y,width=w,height=h 我有两个矩形,坐标如下:
r1.x=2,r1.y=3,r1.w=5,r1.h=6;
r2.x=0, r2.y=7,r2.w=-4,r4.h=2
你如何观察这个交叉点是空的。
到目前为止我所做的是:
rectangle intersection (rectangle r1, rectangle r2){
r1.x=max(r1.x,r2.x);
r1.y=max(r1.y,r2.y);
r1.w=min(r1.w,r2.w);
r1.h=min(r1.h,r2.h);
return r1;
}
我认为上面的代码在有交叉路口时使用,但是当交叉路口为空时我不知道。另外,当没有交叉点时,我想打印一条消息“空”。
谢谢!
解决方案
当矩形以其宽度和高度表示时,您用于矩形交集的方法不起作用。
如果您存储矩形的两个对角(而不是一个角和尺寸)并确保第一个角的坐标始终小于或等于第二个角,有效地存储矩形的min_x
, min_y
,max_x
和,它可能会起作用。max_y
我建议您采用确保矩形始终包含其min
坐标并始终排除其max
坐标的约定。
推荐阅读
- c++ - 为什么相同的语句不适用于 C++ 中的类成员?
- swift - XMLMapper 未在 UITableView 中显示结果
- docker - 如何配置我的 docker-compose 以将在 docker 容器中运行的“应用程序”连接到在物理机中运行的“数据库”
- python - 从python中的列表中删除多余的括号
- flutter - 如何将折叠动画添加到小部件?
- spring - 如何在 application.properties 文件中指定环境变量,以便我的应用程序可以在 Spring 中使用 Docker 容器 MySQL 而不是本地 MySQL?
- php - Ajax 调用:在附加到视图之前处理数据
- json - 从另一个 json BASH 更改 json 字典中的值
- node.js - 使用 lodash 查找 JSON 中非空值的计数
- python - how can I connect classes in KivyMD, python