矩形相交
首先要说明的是,判断矩形相交问题的解决办法有好多,我认为我下面所记录的是最容易理解的。
首先我要说明我所解决问题的核心:如果两个矩形中心点在x,y轴上的投影长度分别小于两个矩形长、宽和的一半,则相交,反之则不相交。如图所示:
其中的r1数组的四个值所代表的意思如图所示,可以直观的看出上面两个中心投影与边的长度关系。代码如下:
#include
#includeint main() {int r1[4], r2[4]; int r1CenterX, r1CenterY;int r2CenterX, r2CenterY;int r1Lenght, r1height;int r2Lenght, r2height;printf("请输出两个矩形:\n"); for (int i = 0; i < 4; i++)scanf("%d", &r1[i]);for (int i = 0; i < 4; i++)scanf("%d", &r2[i]);//算出中心点坐标r1CenterX = (r1[0] + r1[2]) / 2;r1CenterY = (r1[1] + r1[3]) / 2;r2CenterX =
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
