Red de conocimiento informático - Conocimiento informático - Programación en lenguaje C para encontrar la ecuación de un círculo dados tres puntos

Programación en lenguaje C para encontrar la ecuación de un círculo dados tres puntos

/******************

* La función get_circle() para encontrar un círculo con tres puntos conocidos

* x1, y1 son las coordenadas del primer punto, y así sucesivamente

* r es el radio calculado, x0, y0 son las coordenadas del centro del círculo

* Se deben verificar tres antes de llamar a la función. Verifique si el punto es una línea; de lo contrario, aparecerá un error de división por cero

*************** */

# include

void get_circle(doble x1, doble y1, doble x2, doble y2, doble x3, doble y3, doble* r, doble* x0, doble* y0)

{

doble m1, n1, m2, n2, a1, b1, a2, b2;

m1 = (x1 + x3) ​​/ 2;

n1 = ( y1 + y3) / 2;

m2 = (x2 + x3) / 2;

n2 = (y2 + y3) / 2;

a1 = (y3 - y1) / (x3 - x1);

b1 = n1 - a1*m1;

a2 = (y3 - y2) / (x3 - x2);

p>

b2 = n2 - a2*m2;

*x0 = (b2 - b1) / (a1 - a2 );

*y0 = a1 * *x0 + b1;

*r = sqrt((x1-x0)*(x1-x0) + (y1-y0)*( y1-y0));

return;

}

¡Espero que te ayude!