Центр тяжести четырехугольника. Выпуклого

Георгий Александров
Недавно внук,- он в восьмом классе,- выполнял задание по приблизительному определению центра тяжести четырехугольника, вырезанного из картона. Делать это очень просто: снизу картонки водится гвоздь и когда достигается равновесие (на острие гвоздя), то это и будет нужная точка.

Все это верно, конечно, но мне захотелось вместе с Андрюшей математически точно определить данный центр. И сопоставить с физическим опытом.

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

Но геометрическое решение тут довольно громоздкое. Придется столько дуг окружностей чертить, столько линий, что в результате будем иметь рыболовную сетку. Хотелось бы найти самое простое построение. И аналитику, конечно. Чтобы на компе быстро вычислять центр для самых разных вариантов выпуклых четырехугольников.

Эту математическую задачу мы запустили на лучшем форуме для студентов и школьников. Ответы были самые неожиданные. Одно решение предлагалось даже векторное! Между прочим, очень уж красивое. Может, когда-нибудь им и займемся, но в данный момент цель наша была - найти чисто школьный вариант. То есть цепочку формул, дающую в конце координаты центра.

Да, забыл сказать, что решили математическую модель строить через координаты вершин фигуры. Например, такие:

xA=0:yA=0
xB=4:yB=5
xC=7:yC=7
xD=8:yD=0

На форуме очень нам помог лучший в области геометрии специалист с ником Li6-D. Мы с Андрюшей чуточку его решение изменили и получили такую простоту, что сами удивились!
Глядим на рисунок. Имеем четырехугольник ABCD. Чертим две диагонали AC и BD. Точки K и P (с чертой наверху) - это середины диагоналей. Циркулем отмеряем отрезок BM и откладываем его на другом конце той же диагонали (отрезок DL). Точно так же отрезок AM дает на другом конце CT. Определенным образом соединяем пары точек TK и PL, как показано на рисунке и находим пересечением прямых точку S. Она и есть центр тяжести данного четырехугольника! Строить такое циркулем и линейкой - сплошное удовольствие!

Мы сопоставили аналитику с физикой и расхождение оказалось четыре миллиметра. Причина ясна: абсолютно ровно картон не разрезать. Особенно школьнику. Да и нужно понимать, что любая картонка не идеальна по толщине и плотности. Так что верить нужно формулам, а не гвоздику.

На скорую руку мы составили программу расчета на Yabasic. Двумя методами воспользовались. Первый нашли в инете - он самый легкий в плане аналитики. Второй - как раз о котором мы рассказ ведем. Вот текст:

xA=0:yA=0
xB=4:yB=5
xC=7:yC=7
xD=8:yD=0
S1=1/2*abs((xB-xA)*(yC-yA)-(xC-yA)*(yB-yA))
S2=1/2*abs((xC-xA)*(yD-yA)-(xD-yA)*(yC-yA))
xm1=(xA+xB+xC)/3:ym1=(yA+yB+yC)/3
xm2=(xA+xC+xD)/3:ym2=(yA+yC+yD)/3
x1=(S1*xm1+S2*xm2)/(S1+S2):y1=(S1*ym1+S2*ym2)/(S1+S2)
print "1) ";
print x1,y1
y0=(yA-yC)/(xA-xC)*(x0-xA)+yA
A0=sqrt((xA-x0)^2+(yA-y0)^2)
B0=sqrt((xB-x0)^2+(yB-y0)^2)
xL=xD-(x0-xB):yL=yD-(y0-yB)
xT=xC-(x0-xA):yT=yC-(y0-yA)
xK=(xB+xD)/2:yK=(yB+yD)/2
xP=(xA+xC)/2:yP=(yA+yC)/2
y2=(yK-yT)/(xK-xT)*(x1-xK)+yK
print "2) ";
print x2,y2

Оба метода дали точку (4.85185, 2.51852).

24 ноября 2020 г.

PS. Вчера исполнилось три года со дня рождения двух моих маленьких внучат: Никите и Илье.