Окружность по трём точкам. Красота!

Георгий Александров
В Википедии я не так давно привёл общие формулы для координат центра окружности, если известны три произвольные точки кривой. Аналогичную работу проделал и для сферы по четырем точкам на её поверхности. Получил изумительно гармоничные формулы. Они тоже есть в Вики. После решил и для окружности составить аналогичные структуры формул.
Итак, имеем окружность радиусом R с центром в точке (x0,y0). На кривой имеем три произвольные точки (x1,y1),(x2,y2),(x3,y3). Необходимо по гармоничным формулам определить x0,y0 и R. Для этого составим тестовый пример. Пусть радиус R=6; x1=5.6;x2=-4.4;x3=-2.2; центр окружности - начало координат. Причём три точки расположены соответственно в первом, втором и третьем квадрантах. Составом тестовую прошу, которая докажет верность всех формул. Её текст:

R=6
x1=5.6:x2=-4.4:x3=-2.2
y1=sqrt(R^2-x1^2)
y2=sqrt(R^2-x2^2)
y3=-sqrt(R^2-x3^2)
print x1,y1,R
print x2,y2,R
print x3,y3,R
print
U=x1*(y2-y3)
V=x2*(y3-y2)
W=x3*(y1-y2)
Ax=y1*(x2^2+y2^2-x3^2-y3^2)
Bx=y2*(x3^2+y3^2-x1^2-y1^2)
Cx=y3*(x1^2+y1^2-x2^2-y2^2)
Ay=Ax*x1/y1
By=Bx*x2/y2
Cy=Cx*x3/y3
x0=-1/2*(Ax+Bx+Cx)/(U+V+W)
y0=1/2*(Ay+By+Cy)/(U+V+W)
R=sqrt((x1-x0)^2+(y1-y0)^2)
print "x0 = ";:print x0
print "y0 = ";:print y0
print "R = " ;:print R

Решение:
5.6. 2.154 6
-4.4 4.080 6
-2.2 -5.582 6

x0=8.77297*10^(-17)
y0=-6.34564*10^(-17)
R=6

22 февраля 2024 г