Fonction pour calculer l'intersection de deux cercles
Djoi
Messages postés4Date d'inscriptiondimanche 3 avril 2011StatutMembreDernière intervention 3 juillet 2011
-
27 mai 2011 à 02:39
Djoi
Messages postés4Date d'inscriptiondimanche 3 avril 2011StatutMembreDernière intervention 3 juillet 2011
-
30 mai 2011 à 21:24
salut à tous
J'ai fait une fonction qui devrait me renvoyer les coordonnées de l'intersection de deux cercles mais celle-ci ne marche pas. Dites moi si vous voyez des erreurs dans mon code ou si vous avez une autre fonction à me proposer.
Merci d'avance
Voici le code :
deuxPositions intersectionCercles(int x1, int y1, float r1, int x2, int y2, float r2)
{
/* deuxpositions est une structure qui contient 4 flottants (float) */
deuxPositions dpX ;
int g1 = -x1;
int f1 = -y1;
float c1 = g1*g1 + f1*f1 - r1*r1;
int g2 = -x2;
int f2 = -y2;
float c2 = g2*g2 + f2*f2 - r2*r2;
int p = 2*(g1-g2);
int q = 2*(f1-f2);
float r = c1-c2;
int a = pow(q,2) + pow(p,2);
float b = 2*q*r - 2*p*g1*q + 2*f1*pow(p,2);
float c = pow(r,2) - 2*p*g1*r + pow(p,2)*c1;