su=360/n # Угол А в градусах
au=su
yg=au
yr=sur
x=math.cos(sur/2) # Cos Угла А
y=R*x
# Далее Cдвиг четыре пробела в начале каждой строки
Sh=y
Sv=y+y
b=R-y
x=(R*R)-(y*y)
c=math.sqrt(x) # Квадратный корень из " x "
a=c+c
Sm=(a*(R-b)/2)*n # Площадь многогранника
nn=0
# Вывод по Многограннику
u=" Описанный диаметр = "
ss=str(D) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Число граней = "
ss=str(n) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Высота: Грань Центр = "
ss=str(Sh) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Вписанный диаметр = "
ss=str(Sv) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Ширина грани = "
ss=str(a) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Площадь Многогранника = "
ss=str(Sm) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
# Далее Конец Cдвига четыре пробела в начале каждой строки
# ...... ....... ....... ....... ....... ........ .......
if q==13:
# Координаты радиусной кривой
# Далее Cдвиг четыре пробела в начале каждой строки
u1=" Расчет координат точек на радиусной кривой "
print ( )
print (u1)
u1=" Программа этого расчета приведена ранее "
print (u1)
print (u)
input( ) # Ожидание нажима Ентер Позволяет рассмотреть результаты расчета
# Далее Конец Cдвига четыре пробела в начале каждой строки
q=111 # обход всего, что дальше, особенно записи в файл..
# ...... ....... ....... ....... ....... ........ .......
u=" ...... ...... ...... Конец программы ...... ...... ...... "
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# ..... ..... ..... Конец листинга программы ..... ....
Овал ( коробовая кривая )
На схеме показано построение коробовой кривой ( овала ).
Отрезок АО половина большей оси овала. Отрезок ВО половина меньшей оси овала.
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=" Периметр овала = "