本文共 835 字,大约阅读时间需要 2 分钟。
如何求两个相交矩形的交集的面积?
就是交接的公共部分面积?class Rectangle {
Point min; Point max; } Rectangle rect1, rect2; Rectangle rect; 找到x坐标中中间的两个值找到y坐标中中间的两个值
rect.min.x = max(rect1.min.x, rect2.min.x); //从最小x中找最大的x rect.min.y = max(rect1.min.y, rect2.min.y); //从最小的y中找最大的y rect.max.x = min(rect1.max.x, rect2.max.x); //从最大的x中找最小的x rect.max.y = min(rect1.max.y, rect2.max.y); //从最大的y中找最小的y if ( rect.min.x<rect.max.x && rect.min.y <rect.max.y ) //这样才有面积的交集 s = (rect.max.x-rect.min.x)*(rect.max.y-rect.min.y) else s = 0;
如何判断两个矩形是否相交
假定矩形是用一对点表达的(minx,miny)(maxx,
那么两个矩形rect1{(minx1,miny1)(maxx1,
转载地址:http://ypeti.baihongyu.com/