Изображение выше представляет собой диаграмму силы и момента сдвига для балки, прорисованной данной нагрузкой, длиной и положением груза.
Помогите мне нарисовать движущийся график при изменении положения нагрузки
Кажется, я могу использовать "matplot.animation" , но кодирование очень сложно.
Я попробовал несколько примеров, но не смог.
Я использовал Python 3.7
from numpy import *
import matplotlib.pyplot as plt
from matplotlib import animation
P=100 # = load
L=10 # = Length of Beam
LS=8 # = posiotion of load<- **I want to change the value from 0 to 10 by 0.01.**
R1 = P * (L - LS) / (L)
R2 = P * LS / (L)
SF1 = R1
SF2 = R2
# 보
x_beam = arange(0, L, .01)
p_beam = x_beam * 0
# 좌측 절점에서 하중점까지
x1 = arange(0, LS, .01)
p1 = (x1 * 0 + R1)
# 하중점에서의 전단력 변화★
x2 = arange(R1, -R2, -.01)
p2 = x2 * 0 + LS
# 하중점에서 우측 절점까지
x3 = arange(LS, L, .01)
p3 = -(x3 * 0 + R2)
# 모멘트
bend1 = R1 * x1
bend2 = R1 * x3 - P * (x3 - LS)
################################# ### 그래프
plt.figure(figsize=(10, 8)) # 그래프 사이즈
plt.subplots_adjust(hspace=0.5) # left,right,bottom,top,wspace,hspace
### Shear Force Diagram
plt.subplot(2, 1, 1)
# 보
plt.plot(x_beam, p_beam, '4b')
# 하중점 제외한 부분에서의 전단력 변화
plt.plot(x1, p1, 'r', x3, p3, 'r') # 가로, 세로 순서
# 하중점에서의 전단력 변화
plt.plot(p2, x2, 'r')
plt.xlim(0, L)
plt.ylim(-P - 10, P + 10)
plt.xlabel('Length')
plt.ylabel('Shear Force')
plt.title('Shear Force Diagram')
### Bending Moment Diagram
plt.subplot(2, 1, 2)
plt.xlim(0, L)
plt.plot(x_beam, p_beam, '4b')
plt.plot(x1, bend1, 'r', x3, bend2, 'r')
plt.xlabel('Length')
plt.ylabel('Moment')
plt.title('Bending Moment Diagram')
plt.show()