找到包围两个矩形的最小外接矩形的坐标

问题描述 投票:0回答:1

给定两个矩形的左上角坐标 (

x1
,
y1
), (
x2
,
y2
),它们各自的宽度和高度 (
w1
,
h1
), (
w2 
,
h2
)(它们可能重叠也可能不重叠)。如何找到包围 2 个给定矩形的最小外接矩形的左上角 (
x3
,
y3
) 的坐标以及宽度和高度 (
w3
,
h3
)。两个矩形的宽度和高度始终分别平行于 xy 轴。 x 从左到右增加y 从上到下增加

例如,如果

x1
= 2、
y1
= -1、
w1
= 3、
h1
= 6
x2
= -1、
y2
= 3、
w2
= 8、
h2
= 3
然后
x3
= -1、
y3
= -1、
w3
= 8、
h3
= 7

我只能找到

x3
y3
,但找不到
w3
h3

x3 = min(x1, x2)
y3 = min(y1, y2)

math geometry pseudocode area
1个回答
0
投票

定义轴对齐矩形的一种方法是列出其四个坐标

(xmin, xmax, ymin, ymax)

如果你有两个矩形:

R1 (xmin1, xmax1, ymin1, ymax1)
R2 (xmin2, xmax2, ymin2, ymax2)

那么最小轴对齐边界矩形当然是由坐标给出的:

R (min(xmin1,xmin2), max(xmax1,xmax2), min(ymin1,ymin2), max(ymax1,ymax2))
© www.soinside.com 2019 - 2024. All rights reserved.