Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra đường tròn nằm trong vùng giữa hai đường tròn đồng tâm trong Python

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