No debe preocuparse por los casos especiales en los que los puntos están repetidos o alineados. Trataremos estos casos en otros ejercicios.
Para resolver este problema, debemos solucionar un sistema de tres ecuaciones con tres incógnitas. El sistema dice que la distancia de cualquiera de los tres puntos al centro de la circunferencia es igual al radio de la circunferencia:
r^2 = (x1-x)^2 + (y1-y)^2 r^2 = (x2-x)^2 + (y2-y)^2 r^2 = (x3-x)^2 + (y3-y)^2donde r es el radio de la circunferencia, y (x,y) es su centro.
La solución de este sistema de ecuaciones es:
y = (a*f-c*d)/(b*d-a*e) x = y*b/a +c/a r = sqrt((x1-x)^2 + (y1-y)^2)donde a, b, c, d, e y f son variables auxiliares:
a = 2*(x2-x1) b = 2*(y2-y1) c = x1*x1 + y1*y1 - x2*x2 - y2*y2 d = 2*(x3-x1) e = 2*(y3-y1) f = x1*x1 + y1*y1 - x3*x3 - y3*y3Entonces, simplemente hay que escribir un programa que implemente estas expresiones e imprima el valor de r, x y y.
Página actualizada el día 29 de Noviembre de 2005.