在 Python 中查找两个矩形所覆盖的总面积的程序

假设我们想在二维平面中找到两个直线矩形所覆盖的总面积。这里每个矩形由其左下角和右上角定义,如图所示。

示例

让我们看看以下实现以更好地理解 -

def solve(A, B, C, D, E, F, G, H):

   width_1 = abs(C-A)

   height_1 = abs(D-B)

   width_2 = abs(G-E)

   height_2 = abs(H-F)

   area = width_1*height_1 + width_2*height_2

   if (G<A) or (E>C) or (F>D) or (H<B):

      return area

   else:

      p = max(A,E)

      q = max(B,F)

      r = min(C,G)

      s = min(D,H)

      width_3 = abs(r-p)

      height_3 = abs(s-q)

      return area - (width_3*height_3)

A = -3

B = 0

C = 3

D = 4

E = 0

F = -1

G = 9

H = 2

print(solve(A, B, C, D, E, F, G, H))

输入

-3, 0, 3, 4, 0, -1, 9, 2
输出结果
45

以上是 在 Python 中查找两个矩形所覆盖的总面积的程序 的全部内容, 来源链接: utcz.com/z/363274.html

回到顶部