Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าแวดวงที่กำหนดอยู่ในขอบเขตที่ดูแลโดยแวดวงอื่นอีกสองวงใน Python


สมมติว่าเรามีค่ารัศมีสองค่า r1 และ r2 ของวงกลมศูนย์กลางสองวง เรามีพิกัดพิกัดอินพุตอื่นและค่ารัศมี r เราต้องตรวจสอบว่าวงกลมที่มีจุดศูนย์กลางอยู่ที่ coord หรือไม่ และอยู่ในขอบเขตของวงกลมศูนย์กลางสองวงที่กำหนดหรือไม่

ดังนั้น หากอินพุตเป็น r1 =4 r2 =2 coord =(3, 0) r =1 ผลลัพธ์จะเป็น True

ตรวจสอบว่าแวดวงที่กำหนดอยู่ในขอบเขตที่ดูแลโดยแวดวงอื่นอีกสองวงใน Python

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • val :=สแควร์รูทของ(x^2 + y^2)
  • ถ้า val + r <=r1 และ val - r>=r1 - r2 แล้ว
    • คืนค่า True
  • คืนค่าเท็จ

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

โค้ดตัวอย่าง

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