Python: вычисление радиуса и центральной координаты (x, y) круга, который построен тремя заданными точками на плоской поверхности
Python Basic - 1: Упражнение 39 с решением
Напишите программу для вычисления радиуса и центральной координаты (x, y) круга, который построен тремя заданными точками на плоской поверхности.
Входные данные :
x1, y1, x2, y2, x3, y3, разделенные одним пробелом.
Пример решения :
Код Python:
print("Input three coordinate of the circle:")
x1, y1, x2, y2, x3, y3 = map(float, input().split())
c = (x1-x2)**2 + (y1-y2)**2
a = (x2-x3)**2 + (y2-y3)**2
b = (x3-x1)**2 + (y3-y1)**2
s = 2*(a*b + b*c + c*a) - (a*a + b*b + c*c)
px = (a*(b+c-a)*x1 + b*(c+a-b)*x2 + c*(a+b-c)*x3) / s
py = (a*(b+c-a)*y1 + b*(c+a-b)*y2 + c*(a+b-c)*y3) / s
ar = a**0.5
br = b**0.5
cr = c**0.5
r = ar*br*cr / ((ar+br+cr)*(-ar+br+cr)*(ar-br+cr)*(ar+br-cr))**0.5
print("Radius of the said circle:")
print("{:>.3f}".format(r))
print("Central coordinate (x, y) of the circle:")
print("{:>.3f}".format(px),"{:>.3f}".format(py))
Пример вывода:
Введите три координаты круга: 9 3 6 8 3 6 Радиус указанного круга: 3,358 Центральная координата (x, y) круга: 6,071 4,663
Блок - схема:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для вывода числа простых чисел, которые меньше или равны данному целому числу.
Далее: Напишите программу на Python, чтобы проверить, находится ли точка (x, y) в треугольнике или нет. Существует треугольник, образованный тремя точками.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования