Два прямоугольника. Часть 1

В данной миниатюре - обобщение следующей известной геометрической задачи: найти площадь двух спаренных квадратов, одна из вершин которых касается диаметра, а диагональ двумя концами касается дуги полуокружности. Даже в числовом варианте задача идет с большим скрипом. Что уж говорить об общем подходе?
В математическом форуме мне очень помогли коллеги с никами ferma-T, StepUp, michel, vvvv. С их решающей помощью было установлено, что всегда будут два решения, причем на положение точки касания "а" накладываются существенные ограничения. Программа расчета и построения всей геометрии:

R=5:n=3:v=1
print  R,n
print "INPUT  a = ";:input a
a=-abs(a)
c1=(a^2+R^2-x1^2)/2/a
b1=a+n*sqrt(R^2-c1^2)
yc1=sqrt(R^2-c1^2)
yb1=sqrt(R^2-b1^2)
nx1=sqrt((b1-a)^2+yb1^2)
s1=x1*n*x1
print a using "##.##",x1 using "###.##",nx1 using "###.##",s1 using "####.##";
print c1 using "###.##",yc1 using "###.##",b1 using "###.##",yb1 using "###.##"
rem Решение Ferma-T
c2=(a^2+R^2-x2^2)/2/a
yc2=sqrt(R^2-c2^2)
b2=(a^2-n^2*x2^2+R^2)/2/a
yb2=sqrt(R^2-b2^2)
s2=x2*n*x2
print c2,yc2,x2,n*x2,s2,b2,yb2
print"______________"
print a
open window 600,450
k=250/R
text 230,50,"R = ":R$=str$(R):text 260,50,R$
text 230,70,"n = ":n$=str$(n):text 260,70,n$
text 230,90,"a = ":a$=str$(a):text 260,90,a$
line 50,400 to 550,400
line 50+250,400 to 50+250,50
circle 300,400,250
color 255,0,0
for i=-v to v
line i+50+k*(R+a),400 to i+50+k*(R+c1),400-k*yc1
line i+50+k*(R+a),400 to i+50+k*(R+b1),400-k*yb1
line i+50+k*(R+c1),400-k*yc1 to i+50+k*(R+c1+b1-a),400-k*(yb1+yc1)
line i+50+k*(R+b1),400-k*yb1 to i+50+k*(R+c1+b1-a),400-k*(yb1+yc1)
next i
text 70,50,"S1 = ":s1$=str$(s1):text 100,50,s1$
color 0,255,0
for i=-v to v
line i+50+k*(R+a),400 to i+50+k*(R+c2),400-k*yc2
line i+50+k*(R+a),400 to i+50+k*(R+b2),400-k*yb2
line i+50+k*(R+c2),400-k*yc2 to i+50+k*(R+c2+b2-a),400-k*(yb2+yc2)
line i+50+k*(R+b2),400-k*yb2 to i+50+k*(R+c2+b2-a),400-k*(yb2+yc2)
next i
text 70,70,"S2 = ":s2$=str$(s2):text 100,70,s2$

В проге х1 - это v1  и х2 - это v2.

Я сделал так, что при задании координаты "а", этот параметр всегда делается отрицательным. Ради единообразия эскиза, согласно которому точка "а" расположена всегда левее начала координат.

26 сентября 2021 г.


Рецензии