Cho hai đường tròn đồng tâm có bán kính r1 (lớn) và r2 (nhỏ, r1 > r2). Cho một đường tròn thứ ba với tâm coord = (x, y) và bán kính r. Kiểm tra xem đường tròn thứ ba có nằm hoàn toàn trong vùng giữa hai đường tròn đồng tâm hay không.
Điều kiện: khoảng cách từ tâm đường tròn thứ ba đến tâm đồng tâm là val = sqrt(x^2 + y^2). Đường tròn nằm trong vùng nếu val + r <= r1 và val - r >= r1 - r2.
Giải thuật
- Tính
val = sqrt(x^2 + y^2). - Kiểm tra hai bất đẳng thức trên.
Mã ví dụ
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))
Đầu vào
4,2,(3, 0),1
Đầu ra
True