Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Refactored solution in Clear category for Three Points Circle by suic
def checkio(data):
A, B, C = eval(data)
S = intersection(axis(A, B), axis(A, C))
radius = abs(complex(S[0] - A[0], S[1] - A[1]))
return "(x%s)^2+(y%s)^2=%s^2" % (format(S[0]),
format(S[1]),
format(radius, True))
def axis(A, B):
return ((B[0] - A[0]),
(B[1] - A[1]),
sum((A[i] ** 2 - B[i] ** 2) / 2 for i in (0, 1)))
def intersection(p, q):
return (((p[1] * q[2] - q[1] * p[2]) / (p[0] * q[1] - q[0] * p[1])),
((p[0] * q[2] - q[0] * p[2]) / (q[0] * p[1] - p[0] * q[1])))
def format(number, is_r=False):
number = round(number, 2)
if int(number) == number:
number = int(number)
if float(number) > 0 and not is_r:
number = "-" + str(number)
return str(number).rstrip('0')
Dec. 14, 2014