Dadas las coordenadas cartesianas de tres puntos en un plano, encuentra la ecuación del círculo a través de todos ellos. Los tres puntos no estarán en línea recta.
Cada línea de entrada a su programa contendrá las coordenadas xy yde tres puntos, en el orden A(x),A(y),B(x),B(y),C(x),C(y). Estas coordenadas serán números reales menos de 1,000,000 separados entre sí por el espacio.
La solución debe imprimirse como una ecuación del formulario (x-h)^2 + (y-k)^2 = r^2. Los valores para h, k, rse van a imprimir con tres dígitos después del punto decimal. Los signos más y menos en las ecuaciones deben cambiarse según sea necesario para evitar múltiples signos antes de un número.
Sample Inputs
7.0 -5.0 -1.0 1.0 0.0 -6.0
1.0 7.0 8.0 6.0 7.0 -2.0
Sample Outputs
(x - 3.000)^2 + (y + 2.000)^2 = 5.000^2
(x - 3.921)^2 + (y - 2.447)^2 = 5.409^2

Respuestas:
Python,
176189 caracteresHace todo su trabajo en el plano complejo. Voy a las matemáticas desde el final de esta página .
-cEs el centro del círculo.fuente
C # - 490
Esto encuentra las 2 líneas entre AB y BC. Luego encuentra dónde se intersecan las bisectas de esas 2 líneas. (Lo que acabo de notar es lo que @PeterTaylor mencionó en su comentario a @PeterOfTheCorn).
fuente
Ruby, 192 caracteres.
Ejemplos de uso:
fuente
x,yyren la llamada a%debe ayudar, si es posible.Wolfram Alpha (27)
Yo digo, use la herramienta adecuada para el trabajo.
Ejemplo aquí .
fuente
Javascript (299)
La única forma en que podía pensar en resolver esto era resolviendo algebraicamente tres ecuaciones para tres incógnitas para encontrar h, k y r.
Ejemplo de E / S:
7.0 -5.0 -1.0 1.0 0.0 -6.0->(x-3)²+(y--2)²=5²1.0 7.0 8.0 6.0 7.0 -2.0->(x-3.9210526315789473)²+(y-2.4473684210526314)² =5.409159155551175²El único error que veo es que si h o k es negativo, se genera en
--lugar de+.fuente