Геометрия - невероятная сила! Ч 2

Когда геометрический принцип ясен, то аналитическое решение - элементарно школьное. Знать надо чуточку тригонометрию и теорему косинусов. Все формулы - в несложной программе. В ней прежде всего нахожу отрезок KD, а затем решаю треугольник CDK. Сделал вычисления для следующих значений сторон четырехугольника: a=9, b=12, c=15 и в=18. Текст проги:

a=9:b=12:c=15:d=18
for t0=20 to 70
t=t0*pi/180
xA=0:yA=0:xD=d:yD=0
xK=b*cos(t):yK=b*sin(t)
KD=sqrt(b^2+d^2-2*b*d*cos(t))
D1=acos((KD^2+d^2-b^2)/(2*KD*d))
D2=acos((KD^2+c^2-a^2)/(2*KD*c))
D=D1+D2
xC=xD-c*cos(D)
yC=c*sin(D)
xB=xC-b*cos(t)
yB=yC-b*sin(t)
print t0,a using "####",b using "####",c using "####",d using "####";
print xB using "###.####",yB using "###.####",xC using "###.####";
print yC using "###.####",xK using "###.####",yK using "###.####"
next t0

Здесь таблица более расширенная, угол t - градусы в натуральном виде от 20 до 70.
Однако нужно учесть важное ограничение: четырехугольник должен быть именно выпуклым.

 В пределе, однако, стороны a и b лежат на одной прямой. То есть будем иметь треугольник ACD и максимальный угол t можно найти по теореме косинусов :

t<arccos[((a+b)^2+d^2-c^2)/(2*(a+b)*d)] ;  или t<44.42 град.

Иными словами, в приведенной таблице углы t равные 50, 60 и 70 град. принимать нельзя. В программе данное ограничение необходимо ввести.
 
17 апреля 2023 г.


Рецензии