Interseção círculo & círculo

Você recebe dois círculos em um plano 2D, cada um deles descrito como coordenadas do centro e do raio. Encontre os pontos da interseção (casos possíveis: um ou dois pontos, nenhuma interseção ou círculos coincidem).

Solução

Vamos reduzir esse problema ao problema da interseção círculo & linha.

Suponha, sem perda de generalidade, que o primeiro círculo esteja centrado na origem (se isso não for verdade, podemos mover a origem para o centro do primeiro círculo e ajustar as coordenadas dos pontos de interseção). Temos um sistema de duas equações:

$$x^2+y^2=r_1^2$$ $$(x - x_2)^2 + (y - y_2)^2 = r_2^2$$

Subtraia a primeira equação da segunda para se livrar das potências das variáveis:

$$x^2+y^2=r_1^2$$ $$x \cdot (-2x_2) + y \cdot (-2y_2) + (x_2^2+y_2^2+r_1^2-r_2^2) = 0$$

Assim, reduzimos o problema original ao problema de encontrar interseções do primeiro círculo e uma linha:

$$Ax + By + C = 0$$ $$A = -2x_2$$ $$B = -2y_2$$ $$C = x_2^2+y_2^2+r_1^2-r_2^2$$

E esse problema pode ser resolvido conforme descrito neste artigo.

O único caso degenerado que precisamos considerar separadamente é quando os centros dos círculos coincidem. Nesse caso, $x_2=y_2=0$, e a equação da linha será $C = r_1^2-r_2^2 = 0$. Se os raios dos círculos são os mesmos, existem infinitos pontos de interseção; se eles diferem, não há interseções.

Problemas