import numpy as np;
import matplotlib.pyplot as plt;
from matplotlib import animation;
#constants
m=1;#kg
v0=0;#m/s
y0=10;#m
g=10;#m/s2
tmax = 285;#s
dt=0.01
#var declaration
y=np.zeros(tmax);
y[0]=y0;
v=np.zeros(tmax);
v[0]=v0;
a=np.zeros(tmax);
tt=np.zeros(tmax);
#temporal evolution
for i in range(tmax-1):
F=-m*g;
a[i]=F/m;
v[i+1]=a[i]*dt+v[i];
y[i+1]=v[i+1]*dt+y[i];
tt[i+1]=i*dt;
#elastical colision with correction
if y[i+1] < 0:
v[i+1]=-v[i+1]+(g)*dt;
#plot
#x = range(len(y))
#plt.plot(tt,y,'ro',ms=1);
#plt.show();
print("\n\n\n");
print(y[tmax-1]);
print("\n\n\n");
###Fazer o Gif
def animate(nframe):
i=5*nframe
plt.cla()
x = range(len(y))
plt.plot(0,y[i],'bo',ms=90);
plt.ylim(-2,1.25*y0);
plt.xlim(-1,+1);
fig = plt.figure(figsize=(20,8));
anim = animation.FuncAnimation(fig, animate, frames=60);
anim.save('demoanimation.gif', writer='imagemagick', fps=15);
plt.show();
sábado, 5 de dezembro de 2015
Bolinha Quicando
Ola pessoal!
Estava brincando um pouco com programação e criei esse gif de uma bola caindo sobre a influência de uma gravidade constante. Vou disponibilizar o código para vocês:
Linguagem utilizada: Python
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário