Геометрия и итерация. Ч 2

Георгий Александров
Итак, общий подход. На первом этапе делаем график кубического уравнения, который получается при решении через площадь треугольника:
S = p*r
S=sqrt(p*(p-b)*(p-c)*(p-x)),
где p - полупериметр треугольника; r - радиус вписанной окружности.
Общая формула для построения графика приведена в фиолетовой рамке. Из графика видны два положительных корня: приблизительно 8  и 13. Их мы закладываем в итерационную формулу, что в красной рамке. Текст проги для данного конкретного случая:

b=10:c=6:r=2
n=15
x0=1
for i=1 to n
z=(c+b-x0)*(c-b+x0)*(-c+b+x0)/(c+b+x0)-4*r^2
z1=2*(b+c-x0-4*b*c*(b+c)/(b+c+x0)^2)
x=x0-z/z1
print i using "#####", x0;
print x using "#########.########"
x0=x
next i
p=1/2*(c+b+x)
r=sqrt((p-c)*(p-b)*(p-x)/p)
print "r = ";:print r
x0=20
for i=1 to n
z=(c+b-x0)*(c-b+x0)*(-c+b+x0)/(c+b+x0)-4*r^2
z1=2*(b+c-x0-4*b*c*(b+c)/(b+c+x0)^2)
x=x0-z/z1
print i using "#####", x0;
print x using "#########.########"
x0=x
next i
p=1/2*(c+b+x)
r=sqrt((p-c)*(p-b)*(p-x)/p)
print "r = ";:print r

В иллюстрации приведены циклы итерации и окончательные ответы с большой точностью. Кроме того вычисляется обратным способом и радиус вписанной окружности "r". Задача решена верно, поскольку он оказался равным; r=2.
В следующей части постараюсь привести чертежи двух треугольников, являющихся решениями данной задачи.

21 января 2024 г.