Четырехугольник. Найти две стороны

Георгий Александров
Али Петрович Виноградов был озадачен чисто геометрической проблемой. И хотя он окончил архитектурный институт, никак не мог найти размеры двух стен комнаты. Дело в том, что в плане комната далека от прямоугольной, причем почти треть помещения завалена строительными материалами: мешками цемента и шпатлёвки, стопками ламината, коробами, бочками и еще бог весть чем. От пола и до самого потолка! На рисунке помещение показано сверху, и желтым цветом отмечен как раз заваленный участок. Можно было только точно измерить три свободных угла в градусах и две стены "а" и "b". Так вот - срочно нужно было, как я уже сказал, определить размеры недоступных стен, исходя из известных размеров.

Ну, в геометрии я человек не последнего уровня и потому сразу определил значение четвертого угла, поскольку в любом выпуклом четырехугольнике сумма всех внутренних углов - это триста шестьдесят градусов. С размерами неизвестных сторон пришлось повозиться дольше. Помогли знания соотношений Бретшнайдера, теоремы Менелая и определителя Кэли-Менгера. Поскольку задача была численной, то на компьютере одолел довольно быстро и точно. Уже спустя месяц с небольшим, когда комната освободилась, Али Петрович измерил размеры и был просто поражен тем фактом, что расхождения теории с практикой составили в пределах трех миллиметров. Я же ему по телефону скромно заметил, что заслуга вовсе не моя, а в том факте, что стены оказались очень ровными. Если бы их возвели криворукие мастера, то ошибка могла бы оказаться на порядок больше.

Задача эта, между тем, имела дальнейшее развитие. Буквально неделю назад я о ней вспомнил и задался целью найти стороны, обозначенные как "с" и "d". Известны только смежные стороны "а" и "b" и три угла: "А", "В", "С". Когда стал расписывать квадратичные зависимости, делать подстановки, решать системы, то понял - закопаюсь так, что окажусь в Палате известного номера. Мне помог коллега по математическому форуму, заходящему под именем Kitonum. При помощи электронных математических систем ему удалось поручить потрясающе компактные и красивые формулы. Они как раз на рисунке. Их тут же проверил: ошибок не оказалось. А в литературе ничего подобного не нашел.

Программа на языке Yabasic коротка и прозрачна:

a=1:b=2:A=60:B=130:C=100
D=360-A-B-C
x1=A*pi/180:x2=B*pi/180
x3=C*pi/180:x4=D*pi/180
T=sqrt(a^2+b^2-4*cos(x2))
V=sin(x1+x2+x3)
c=-T*sin(x1-asin(b*sin(x2)/T))/V
d=-T*sin(x3-asin(a*sin(x2)/T))/V
print c,d

Еще несколько копеек в копилку знаний!

1 марта 2021.