Читать книгу Полезные программы Python-3. Книга третья - Сергей Фёдорович Гаврилов - Страница 20

Центр масс нескольких тел

Оглавление

Определение координат центра масс нескольких тел производим методом последовательного добавления к уже определенной суммарной массе нескольких тел – еще одной массы. Начинаем с определения центра масс двух тел М1 и М2. Находим суммарную массу дух тел и координаты центра масс этих двух тел в точке Хх. Далее считаем, что сумма масс двух тел сосредоточена в точке центра масс с координатами Хх. Считаем что получившееся суммарное тело – это тело № М3. Затем добавляем к нему еще одно тело № М4. Снова получаем задачу по определению центра масс двух тел № М3 и № М4. Находим координаты новой точки центра масс. Программа позволяет добавлять к уже определенному суммарному телу еще одно тело столько раз – сколько необходимо.

По анологичной методике можно разработать программу по вычислению момента инерции, координат нейтральной оси и момента сопротивления тела сложной формы. Сечение тела сложной формы разбиваем на элементарные прямоугольники и расчитываем их как составное тело.

Листинг программы.

# -*– coding: cp1251 -*-

import sys # Подключили основные библиотеки

import math # Подключили математич модуль

uu=" "

print (uu)

print (uu)

print (uu)

u=" Расчет центра масс нескольких тел "

print (u)

u=" Введите массу первого тела М1 "

print (uu)

print (u)

m=0.0000

m=input( )

print (uu)

u=" Введите растояние до нулевой оси отсчета Х1 "

print (uu)

print (u)

r=0.0000

r=input( )

print (uu)

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

u=" Масса первого тела М1 = "

t=str(m) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

u=" Растояние до нулевой оси отсчета Х1 = "

t=str(r) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

m=float(m) # Принудительно в вещественное число

r=float(r) # Принудительно в вещественное число

mm=0.00000

mm=m*r

u=" Момент массы относительно нулевой оси = "

t=str(mm) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

Pii=math.pi # Вытащили число " Пи "

ms=m # Сумма масс.

mms=mm # Сумма моментов масс.

n=1 # Порядковый номер прямоугольника

n=int(n) # Переведем в целое число

# " .... .... ..... .... ..... ..... ..... ..... ..... ..... "

x=0

x=int(x) # Переведем в целое число

y=int(r) # Переведем в целое число

while y>x:

# Далее Cдвиг – четыре пробела в начале каждой строки

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

print (uu)

n=n+1

u=" Ввести значение массы № "

t=str(n) # Преобразуем число в строку

u=u+t # сложим строки

print (u)

print (uu)

m=0.0000

m=input( )

print (uu)

u=" Растояние до нулевой оси отсчета "

print (uu)

print (u)

r=0.000000

r=input( )

r=float(r) # Принудительно в вещественное число

m=float(m) # Принудительно в вещественное число

ms=ms+m # Сумма масс.

mm=m*r

mms=mms+mm # Сумма моментов масс.

rx=0.000000

rx=mms/ms # Растояние от нулевой оси до Ц.Т. системы

y=r

print (uu)

if y == x:

# Далее Cдвиг – восемь пробелов в начале каждой строки

    break # Выход из цикла

# Далее Cдвиг – четыре пробела в начале каждой строки

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

print (u)

print (uu)

u1=" Добавили массу № "

u2=" = "

t1=str(n) # Преобразуем число в строку

t2=str(m) # Преобразуем число в строку

u=u1+t+u2+t2

print (uu)

print (u)

u1=" Растояние до нулевой оси = "

t=str(r) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Добавленный момент = "

t=str(mm) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Сумма масс = "

t=str(ms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Сумма моментов = "

t=str(mms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

print (uu)

u=" Растояние Ц.Т. от нулевой оси = "

t=str(rx) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

print (u)

print (uu)

# Далее Cдвига нет …

u=" ...................... Конец работы программы .................... "

print (u)

print (uu)

u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "

print (u)

print (u)

print (uu)

# ..... ..... ..... ..... ....

input( ) # Ожидание нажима Ентер

# ..... ..... ..... Конец листинга программы ..... .…

Полезные программы Python-3. Книга третья

Подняться наверх