Прямоугольник и вписанный треугольник Ч. 3

Использование метода Монте Карло показало, что задача имеет бесконечное множество решений. Например, на рисунке (взятом из инета) допустимы и такие параметры:
a=7.18169
b=10.0255
x=5.5858
y=6.2659
В этом случае практически равны площади, конкретно: s1=28.0002; s2=4.9998;
s3=13.49916, а также найден точный ответ: S=25.5.

Чтобы инвариантов избежать, достаточно ввести еще одно условие-ограничение.
Я принял отношение x/y=1.4. Тогда расчеты по программе

s1=28:s2=5:s3=13.5
xy=1.4
s38=s1+s2+s3
a0=8:b0=8:x0=3:y0=4
z=0.001
s5=10^10
for i=1 to 100000000
a=a0*(1+z*(ran()-.5))
b=b0*(1+z*(ran()-.5))
x=x0*(1+z*(ran()-.5))
y=y0*(1+z*(ran()-.5))
s31=x*b/2:s32=(a-x)*y/2:s33=(b-y)*a/2
z1=abs(s31-s1)+abs(s32-s2)+abs(s33-s3)+abs(x/y-xy)
s4=a*b-s38
 l=sqrt(x^2+b^2):k=sqrt((a-x)^2+y^2)
t=sqrt((b-y)^2+a^2)
s3a=1/4*sqrt((l+k+t)*(l+k-t)*(l-k+t)*(-l+k+t))
if z1<s5 then
print a,b,x,y,s3a,s38,z1
s5=z1:a0=a:b0=b:x0=x:y0=y
if z1<0.0005 then z=0.0000001:fi
fi
next i

дали единственно верный результат (см. последнюю желтую строку на рисунке).

Но тогда написать строго аналитическое выражение становится еще сложнее. Тем не менее, хоть и численно, но с задачей мне справиться удалось.

12 июля 2022 г.


Рецензии