使用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.