Comment calculer l'intersection de deux cercles

November 6

Comment calculer l'intersection de deux cercles


Deux cercles peuvent se coupent en deux points, soit tangente et se coupent en exactement un point, ou se coupent pas du tout. Compte tenu de l'origine de chaque cercle, et son rayon, vous devez d'abord déterminer si les deux cercles ne se coupent pas - qui est, si elles sont trop éloignées ou si l'un est contenu complètement dans l'autre. Ensuite, vous pouvez vérifier si elles sont le même cercle, auquel cas ils ont une infinité de intersections. Si les deux cercles ne se coupent en un ou deux points, vous pouvez identifier quels deux points.

Instructions

1 Déterminer la distance "d" entre les deux centres en prenant la racine carrée de la différence des coordonnées x au carré plus la différence de l'y coordonnées au carré. Par exemple, si le cercle 1 est centré à (x1, y1) = (4, 6) et le cercle 2 est centré à (x2, y2) = (1, 2), la distance entre les centres est sqrt [(x1 - x2 ) ^ 2 + (y1 - y2) ^ 2] = sqrt [(4 - 1) ^ 2 + (6-2) ^ 2] = sqrt (9 + 16) = 5.

2 Ajouter les rayons des deux cercles et, si cette somme (r0 + r1) est inférieure à d, les cercles sont trop éloignés pour se croiser. Prenez la valeur absolue de la différence des rayons des cercles, | r0 - r1 |, et si tel est supérieur à d, le seul cercle est entièrement contenu dans l'autre, et ils ne se croisent pas. Si d est égal à 0 et les deux rayons sont égaux, les cercles sont les mêmes et se coupent en une infinité de points. Si aucun de ces cas, passez à l'étape 3 parce que les cercles se coupent en un ou deux points.

3 Déterminer la distance «a» du point médian des deux intersections du centre du premier cercle ayant la formule: a = (r0 ^ 2 - r1 ^ 2 + d ^ 2) / (2d), où r0 est le rayon de le premier cercle, et r1 est le rayon du deuxième cercle. Par exemple, avec 3 = r0 et r1 = 4, alors a = (3 ^ 2 - 4 ^ 2 + 5 ^ 2) / (2 * 5) = (9 - 16 + 25) / 10 = 1,8.

4 Trouver le point milieu des deux intersections "P" avec la formule suivante: P = c0 + a * (c1 - c0) / d, où c0 est le centre du premier cercle et c1 est le centre du deuxième cercle. Par exemple, avec le cercle 1 centré sur (4, 6) et le cercle 2 centré sur (1, 2), alors P = (4, 6) + 1,8 * (1 - 4, 2-6) / 5 = (4, 6) - 1,8 * (3, 4) / 5 = (2,92, 4,56).

5 Résoudre pour la distance des deux intersections du point P en prenant la racine carrée de la différence de l'r0 au carré et un carré: h = sqrt (r0 ^ 2 - a ^ 2). Pour l'exemple en cours d'exécution, h = sqrt (3 ^ 2 à 1,8 ^ 2) = sqrt (5,76) = 2,4.

6 Trouver le premier point (x1, y1) avec les formules (x1 = Px + h (C1y - c0y) / d) intersection et (y1 = Py - h (C1X - c0x) / d) où C1X est la coordonnée x de centre et c0x du deuxième cercle est la coordonnée x du centre du premier cercle. Dans l'exemple courant, on obtient 2,92 x1 = + 2,4 * (2 - 6) / 5 = 1 et y1 = 4,56 à 2,4 * (1 - 4) / 5 = 6.

7 Trouver le deuxième point d'intersection (x2, y2) avec les formules (x2 = Px - h (C1y - c0y) / d) et (y2 = Py + h (C1X - c0x) / d). Dans l'exemple courant, x2 = 2,92 à 2,4 (2 - 6) / 5 = 4,84 et 4,56 y2 = + 2,4 * (1 - 4) / 5 = 3,12.