︠2717657b-2cc5-40ee-b074-f49e0677e712i︠
%html
︡c59e9da8-6730-4015-a1c5-74ee930d11d5︡{"html": "
"}︡
︠b25edce2-ddb9-4db0-a7dd-3256fa3ba3de︠
"""
@author: krystian.rosinski [at] gmail [dot] com
Program rysuje wykresy sił tnących i momentów zginających belki wolnopodpartej obciążonej siłą skupioną przyłożoną w wybranym punkcie belki
"""
import numpy as np
from pylab import *
import matplotlib.pyplot as plt
# Dane:
# l - dlugość belki
# P - wartość siły skupionej
# x - odległość punktu przyłożenia siły od lewej podpory
# Wprowadzenie danych:
l = 10
P = 20
@interact
def przyloz(x=(0,l)):
print("Reakcja na lewej podporze:")
Ra=P*(l-x)/l
print Ra
print("Reakcja na prawej podporze:");
Rb=P*x/l
print Rb
print("")
print("Maksymalny moment zginający:")
Mmax=P*x*(l-x)/l
print Mmax
i=np.array([[0,0,x,x,l,l]]).transpose()
T=np.array([[0,Ra,Ra,-Rb,-Rb,0]]).transpose()
M=np.array([[0,0,-Mmax,-Mmax,0,0]]).transpose()
# Wykresy:
clf()
ax1 = subplot(211)
plt.fill(i,T, color='green', alpha=0.2, hatch='||')
plt.grid(True)
xlabel('Odleglosc')
ylabel('Sila tnaca')
ax2 = subplot(212)
plt.fill(i,M, color='red', alpha=0.2, hatch='||')
plt.grid(True)
xlabel('Odleglosc')
ylabel('Moment zginajacy')
savefig('sily_wewnetrzne.png')
︡27335756-31b6-41e1-ad99-78b5922857cc︡{"html": ""}︡