使用Python检查给定的圆是否位于另外两个圆所维护的边界内


假设我们有两个同心圆的半径值r1和r2。我们还有另一个输入坐标coord和半径值r。我们必须检查中心位于coord且其位于两个给定同心圆边界内的圆。

因此,如果输入类似于r1 = 4 r2 = 2 coord = (3, 0) r = 1,则输出为True。

为了解决这个问题,我们将遵循以下步骤:

  • val := √(x^2 + y^2)
  • 如果 val + r <= r1 且 val - r >= r1 - r2,则
    • 返回 True
  • 返回 False

让我们看看下面的实现以更好地理解:

示例代码

在线演示

from math import pow, sqrt

def solve(r1, r2, coord, r) :
   val = sqrt(pow(coord[0], 2) + pow(coord[1], 2)) 
     
   if val + r <= r1 and val - r >= r1 - r2 :
      return True 
   return False 

r1 = 4
r2 = 2
coord = (3, 0)
r = 1
print(solve(r1, r2, coord, r))

输入

4,2,(3, 0),1

输出

True

更新于:2021年1月16日

113 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.