Овал ( коробовая кривая )



На схеме показано построение коробовой кривой ( овала ).

Отрезок АО – половина большей оси овала. Отрезок ВО – половина меньшей оси овала.

Rb – Большой радиус овала. Rм – Малый радиус овала. Остальное понятно из чертежа.

Построенная коробовая кривая отличается от овала – но для большенства расчетов различие

является несущественным. Данный расчет применяется к определению формы резинового кольца при сжатии в осевом направлении.

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

# -*– coding: cp1251 -*-

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

# Проверено и геометрически тоже 15-12-2015 г..

ug=0.000000

Uu=" "

u=" Расчет параметров овала ( коробовой кривой ) "

print (uu)

print (uu)

print (u)

u1=u

print (uu)

u=" ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, "

print (uu)

print (u)

print (uu)

u=" Вводим больший габаритный размер овала "

print (u)

print (uu)

x1=0.00000000

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

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

u=" Вводим меньший габаритный размер овала "

print (u)

print (uu)

y1=0.00000000

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

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

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

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

oa=x1/2 # Большая полуось овала

ob=y1/2 # Малая полуось овала

pb=oa-ob

tb=pb

x=(oa*oa)+(ob*ob)

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

at=ab-tb

xt=at/2

ao1=(xt*ab)/oa # Малый радиус

bk=(ab*(xt+pb))/ob # Большой радиус

x=ob/oa

ua=math.atan(x) # АрксТангенс от Х

# ua – Угол четвертинки сектора большого круга

ub=(Pii/2)-ua # Угол четвертинки сектора малого круга

Sb=Pii*bk*bk # Площадь круга с Большим радиусом

Sm=Pii*ao1*ao1 # Площадь круга с Малым радиусом

Sbs=Sb*2*ua/Pii # Площадь секторов с Большим радиусом

Sms=Sm*2*ub/Pii # Площадь секторов с Малым радиусом

ko=bk-ob

oo1=oa-ao1

Str=2*ko*oo1 # Площадь четырех вычитаемых треугольников

So=(Sms+Sbs)-Str

xu=ua*360/Pii # Угол раствора Б. радиусов

x=4*So/Pii

Ds=math.sqrt(x) # Диаметр равного по площади – круга

x=xu/2

Pp=((ao1*(90-x))+(bk*x))*Pii/45 # Периметр овала.

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

u=" ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, "

print (uu)

print (u)

u2=u

print (uu)

u=" Большая ось овала = "

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

u=u+ss

print (u)

u3=u

print (uu)

u=" Меньшая ось овала = "

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

u=u+ss

print (u)

u4=u

print (uu)

u=" Больший радиус = "

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

u=u+ss

print (u)

u5=u

print (uu)

u=" От оси до центра Б. радиуса = "

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

u=u+ss

print (u)

u6=u

print (uu)

u=" Меньший радиус = "

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

u=u+ss

print (u)

u7=u

print (uu)

u=" От оси до центра M. радиуса = "

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

u=u+ss

print (u)

u8=u

print (uu)

u=" Угол раствора Б. радиусов = "

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

u=u+ss

print (u)

u9=u

print (uu)

u=" Периметр овала = "

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

u=u+ss

print (u)

u10=u

print (uu)

u=" Площадь овала = "

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

u=u+ss

print (u)

u11=u

print (uu)

u=" Диаметр равного по площади – круга = "

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

u=u+ss

print (u)

u12=u

print (uu)

print (uu)

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

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

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

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

f.write(u)

u=u1+"\n"

f.write(u)

uu=" "+"\n"

f.write(uu)

u=u2+"\n"

f.write(u)

f.write(uu)

u=u3+"\n"

f.write(u)

u=u4+"\n"

f.write(u)

f.write(uu)

u=u5+"\n"

f.write(u)

u=u6+"\n"

f.write(u)

u=u7+"\n"

f.write(u)

u=u8+"\n"

f.write(u)

u=u9+"\n"

f.write(u)

u=u10+"\n"

f.write(u)

u=u11+"\n"

f.write(u)

u=u12+"\n"

f.write(u)

f.write(uu)

f.close() # закрыли файл

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

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

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

print (u)

print (uu)

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

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

Загрузка...