Добавить в цитаты Настройки чтения

Страница 2 из 9



# Далее идет расчет по формуле..

yx=(((y2-y1)*(xx-x1))/(x2-x1))+y1

# Далее выводится на экран результат расчета

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

print (u)

print (u)

print (uu)

print (uu)

u=" X1 = ", x1," Y1 = ",y1," "

print (u)

print (uu)

u=" X2 = ", x2," Y2 = ",y2," "

print (u)

print (uu)

u=" Xx = ", xx," Yx = ",yx," "

print (u)

print (uu)

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

print (u)

print (u)

print (uu)

print (uu)

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

# Далее делаем еще один расчет на тех же исходных данных и выводим результаты.

Pii=math.pi # Вытащили число " Пи " и поместили в переменную Pii …

cc=((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))

c=math.sqrt(cc) # Квадратный корень из " cc "

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

u=" Длина линии x1;y1 – x2;y2 = "+cs

print (uu)

print (u)

a=(y2-y1)/(x2-x1)

aur=math.atan(a) # Угол aur в радианах через арс тангенс

au=aur*180/Pii # Угол au в градусах ( переводим ).

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

u=" Угол линии x1;y1 – x2;y2 с осью Х = "+aus+" градус "

print (uu) # Выводим пустую строку

print (u) # Выводим результат – угол в градусах

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер что бы можно было прочитать результаты.

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

Расчет параметров численным интегрированием

Данная программа разработана для расчета момента инерции сложного сечения. Для расчета сечение было разбито по горизонтали на одинаковые по высоте участки ( шаги ). Длинны участков были замеряны и внесены в таблицу. Затем запускаем программу и последовательно вводим из таблицы значения длинн участков. Программа расчитывает момент инерции участка и площадь участка – затем суммирует эти величины. При вводе нуля на запрос длинны – программа показывает результат работы. Программу легко переделать на расчеты интеграции по другим законам.

# -*– coding: cp1251 -*-

# Алгоритм расчета момента инерции и площади интегрированием

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

u=" Алгоритм временного расчета Jx интегрированием,"

uu=" "

uuu=" ...... ...... ....... ....... ...... ....... ....... "

print (uu)

print (uu)

print (u)

print (uuu)

print (uu)

u=" Ввести Шаг вдоль оси Y-Y "

print(u)

t=0.00

t=input( ) # Вводим число

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

print (uu)

J=0.0000

J=float(J)

Jx=0.0000

Jx=float(Jx)

S=0.0000

S=float(S)

Ss=0.0000

Ss=float(Ss)

d=0.00000001

d=float(d)

L=0.0

L=float(L)

n=1

n=float(n)

while d>0:

# Далее строки начинаются с четырех пробелов.

L=L+t # Суммируем смещение по оси

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

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

u=" Ввести высоту по оси Y-Y Ввод № "

u=u+ss+" Смещение по оси = "+Lt

print(u)

d=0.00

d=input( ) # Вводим число

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

print (uu)

J=t*d*d*d/12 # Находим момент инерции элемента

Jx=Jx+J # Суммируем J

S=t*d # Нашли площадь элемента

Ss=Ss+S # Суммируем S

n=n+1 # Счетчик числа вводов

# Далее строки начинаются без пробелов.

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

# Rk=math.sqrt(a) # Квадратный корень из " а "

# sur=math.asin(x) # Угол А в радианах

# su=sur*180/Pii # Угол А в градусах

print (uu)

uuuu=" ,,,, ,,,, ,,,, ,,,,, ,,,,, ,,,, ,,,,, ,,,,, ,,,,, "

print (uuuu)

print (uu)

u=" Площадь сечения = "

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

u=u+ss

print (u)



print (uu)

u=" Момент инерции по оси Х-Х = "

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

u=u+ss

print (u)

print (uu)

print (uu)

u=" ...... ...... ...... Конец рассчета ...... ...... ...... "

print (u)

print (uu)

print (uu)

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

print (uu)

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

# Конец программы.

Координаты точек на радиусной кривой

Программа бывает необходима при построении сегмента с радиусом

большой величины – который построить непосредственной разметкой

сложно или невозможно из за мешающих препятствий.

Результаты расчета записываются в файл 'Rezult.txt'.

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

# -*– coding: cp1251 -*-

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

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

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

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

f = open('Rezult.txt', 'w') # Открыли файл для записи

# Записываем числа в текстовом виде

uu=" "

u=uu+"n" # Добавим код перевода строки

f.write(u)

u1=" Расчет координат точек на радиусной кривой "

u=u1+"n"

f.write(u)

uu=" "+"n"

f.write(uu)

uuu=" ,,,,,,,,,, ,,,,,,,, ,,,,,,,, ,,,,,,,, ,,,,,,,, ,,,,,,,, "+"n"

f.write(uuu)

f.write(uu)

print (uu)

u=" Построение большого радиуса методом подьема "

print (u)

print (uu)

u=" Размер по горизонтали отсчитывается от центра хорды "

print (u)

u=" от точки Х2 на хорде проводим перпендикуляр Нм расчитанной величины. "

print (u)

u=" При вводе размера по горизонту = нулю – выход из программы "

print (u)

print (uu)

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

print (uu)

a=0.00000000

y=0.00000000

ug=0.00000000

ugg=0.00000000

R=0.00000000

hm=0.00000000

ht= 0.0000000

u=" Введите радиус "

print (u)

print (uu)

R=input( ) # Вводим число

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

u=" Радиус заданной кривой = "

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

Rad=u+ss

u=Rad+"n"

f.write(u)

u=" Введите Хорду L "

print (u)

print (uu)

a=input( ) # Вводим число

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

u=" Хорда максимальная заданная L = "

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

Xord=u+ss

u=Xord+"n"

f.write(u)

# Находим значения максимального прогиба при X2 = 0....

x=((R*R)-(a*a/4))

b=R-(math.sqrt(x)) # Квадратный корень из " x "

# b – максимальный прогиб…

u=" Подъем максимальный в центре хорды = "

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

Progi=u+ss

u=Progi+"n"

f.write(u)

x=(a/2)/R

y=math.asin(x)

v=math.cos(y)

aur=2*y

au=aur*180/Pii # Угол А в градусах

Lx= 0.0000001 # <Начальное значение>

while Lx>0:

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

print (uu)

u=" Введите растояние от центра хорды до перпендикуляра X2 "

print (u)

print (uu)

Lx=input( ) # Вводим число

Lx=float(Lx)

u=" От центра хорды до точки X2 по оси Х-Х = "