Como calcular a intersecção de dois círculos

Dois círculos podem se cruzam em dois pontos, ser tangente e se cruzam em exatamente um ponto, ou não se cruzam em tudo. Dada a origem de cada círculo e seu raio, primeiro você precisa para determinar se os dois círculos não se cruzam - isto é, se eles são muito distantes ou se alguém está contido completamente dentro do outro. Em seguida, você pode verificar se eles são o mesmo círculo, caso em que eles têm um número infinito de cruzamentos. Se os dois círculos que se cruzam em um ou dois pontos, você pode identificar qual dois pontos.

  • Determinar a distância "d" entre os dois centros tomando a raiz quadrada da diferença da coordenadas X quadrado mais a diferença de o coordenadas Y quadrado. Por exemplo, se o círculo 1 é centrado em (x1, y1) = (4, 6) e o círculo 2 está centrado em (X2, Y2) = (1, 2), a distância entre os centros é sqrt [(X1 - X2 ) ^ 2 + (Y1 - Y2) 2 ^] = sqrt [(4 - 1) ^ 2 + (6-2) ^ 2] = sqrt (9 + 16) = 5.

  • Adicionar os raios dos dois círculos e se essa soma (r0 + R1) é menor do que d, os círculos estão muito distantes para se cruzam. Tomar o valor absoluto da diferença dos raios dos círculos, | R0 - R1 |, e se isso é maior do que d, o círculo está completamente contido no outro e eles não se cruzam. Se d é 0 e os dois raios são iguais, os círculos são iguais e se cruzam em um número infinito de pontos. Se nenhum deles for o caso, vá para a Etapa 3, porque os círculos se cruzam em um ou dois pontos.

  • Determinar a distância "a" do ponto médio das duas intersecções do centro do primeiro círculo com a fórmula: A = (r0 ^ 2 - R1 ^ 2 + d ^ 2) / (2d), em que r0 é o raio o primeiro círculo, e R1 é o raio do segundo círculo. Por exemplo, com R0 = 3 e R1 = 4, então a = (3 ^ 2-4 ^ 2 + 5 ^ 2) / (2 * 5) = (9 - 16 + 25) / 10 = 1,8.



  • Encontrar o ponto médio das duas intersecções "P" com a fórmula: P = c0 + A (C1 - C0) / d, em que C0 é o centro do círculo e o primeiro c1 é o centro do círculo segundo. Por exemplo, com um círculo centrado em (4, 6) e um círculo centrado em 2 (1, 2), então P = (4, 6) + 1,8 (1-4, 2-6) / 5 = (4, 6) - 1.8 * (3, 4) / 5 = (2.92, 4.56).

  • Resolver para a distância das duas intersecções a partir do ponto P tomando a raiz quadrada da diferença do R0 quadrado e um quadrado: h = sqrt (r0 ^ 2 - a ^ 2). Para o exemplo em execução, h = sqrt (3 ^ 2-1,8 ^ 2) = sqrt (5,76) = 2,4.

  • Encontrar o primeiro ponto de intersecção em (x1, y1) com as fórmulas (x1 = Px + H (c1y - c0y) / d) e (y1 = Py - h (C1X - c0x) / d), onde C1X é a coordenada x do segundo círculo central, e c0x é a coordenada x do centro do primeiro círculo. Para o exemplo em execução, isso gera x1 = 2,92 + 2.4 (2-6) / 5 = 1 e Y1 = 4,56-2,4 (1 - 4) / 5 = 6.

  • Encontrar o segundo ponto de intersecção (X2, Y2) com as fórmulas (X2 = px - H (c1y - c0y) / d) e (Y2 = Py + H (C1X - c0x) / d). Para o exemplo de execução, x2 = 2,92-2,4 (2-6) / 5 = 4,84 e y2 = 4,56 + 2,4 * (1 - 4) / 5 = 3.12.

De esta maneira? Compartilhar em redes sociais:

LiveInternet