Hola!
En la asignatura de programación utilizamos lenguaje Python y hace poco vi por aquí un problema sencillo de tiro parabólico (dos casas están separadas a 10m, con un muro de 2m de altura a 5m de la primera: si se tira una botella por la ventana, que está a 1m de altura como la del vecino, entrará por la de éste?), así que lo intenté convertir en programa. El código es este:
Una vez calculado todo, he decidido intentar poner unos "input" en los que se pueda introducir una velocidad inicial y ángulo diferentes a los que salen ahí y que el programa me diga si entra por dicha ventana o no, ya que éste problema tiene muchísimas soluciones. Aquí viene la cuestión: no sé como poner los condicionales "if" ni como mover las variables para que esto ocurra... Alguna idea?
Muchísimas gracias de antemano.
En la asignatura de programación utilizamos lenguaje Python y hace poco vi por aquí un problema sencillo de tiro parabólico (dos casas están separadas a 10m, con un muro de 2m de altura a 5m de la primera: si se tira una botella por la ventana, que está a 1m de altura como la del vecino, entrará por la de éste?), así que lo intenté convertir en programa. El código es este:
Código:
from math import * import matplotlib import numpy as np import matplotlib.pylab as plt #gravity g = 9.8 #initial height h0 = 1 wallHeight = 2 distance = 10 Vy0 = sqrt(2*g*wallHeight) #now we calculate the time... time = 2*Vy0/g #the other solution is time = 0 #now we calculate the initial X velocity Vx0 = distance/time alpha = atan(Vx0/Vy0) V0 = Vx0/cos(alpha) #Results... print "la velocidad inicial en el eje y es ",Vy0, "m/s" print "la velocidad inicical en el eje x es ", Vx0, "m/s" print "el angulo es ", alpha, "rads" print "la velocidad incial en módulo és ", V0, "m/s" t = np.linspace(0, time, 100) y = h0+Vy0*t-0.5*g*(t**2) plt.plot(t,y) plt.show()
Muchísimas gracias de antemano.
Comentario