สมมติว่าเรามีค่ารัศมีสองค่า r1 และ r2 ของวงกลมศูนย์กลางสองวง เรามีพิกัดพิกัดอินพุตอื่นและค่ารัศมี 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
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
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