klopt perfect
Projectielbaan
Moderator: physicalattraction
- Berichten: 4.536
Re: Projectielbaan
Rik, Python ook iets voor jou?
Het numeriek bepalen van de kogelbaanbeweging is (naast natuurlijk Excel) een mooie gelegenheid om een beetje thuis te raken in pythoncode (Spyder IDE). Dat geeft in elk geval de mogelijkheid resultaten met elkaar te vergelijken, en dus van te leren.
Het numeriek bepalen van de kogelbaanbeweging is (naast natuurlijk Excel) een mooie gelegenheid om een beetje thuis te raken in pythoncode (Spyder IDE). Dat geeft in elk geval de mogelijkheid resultaten met elkaar te vergelijken, en dus van te leren.
Code: Selecteer alles
@author: Ukster
"""
import math
import numpy as np
import matplotlib.pyplot as plt
M=4.08407044 #massa (kg)
g=9.8066 #gravity (m/s^2]
v=50 #initiele snelheid [m/s]
ang=0 #hoek [degr] met de x-as
k=0.002431593 #drag factor
angr=math.radians(ang)
vx=[v*np.cos(angr)]
vy=[v*np.sin(angr)]
#drag Force
F=k*v**2
#calculate initial acceleration component x and y
ax=[-(F*np.cos(angr))/M]
ay=[-g-(F*np.sin(angr))/M]
#calculate for time value on the object
t=[0]
counter=0
dt=0.01
x=[0]
y=[100]
while(y[counter]>=0):
t.append(t[counter]+dt)
vx.append(vx[counter]+dt*ax[counter])
vy.append(vy[counter]+dt*ay[counter])
x.append(x[counter]+dt*vx[counter])
y.append(y[counter]+dt*vy[counter])
angr=math.atan(vy[counter]/vx[counter])
#calculatie magnitude of new velocity
vel=np.sqrt(vx[counter+1]**2+vy[counter+1]**2)
F=k*vel**2
ax.append(-(F*np.cos(angr))/M)
ay.append(-g-(F*np.sin(angr))/M)
counter=counter+1
plt.plot(x,y,'r')
plt.ylabel("y (m)")
plt.xlabel("x (m)")
plt.show()
- Moderator
- Berichten: 9.942
Re: Projectielbaan
Een hintje voor het programma: Zet die laatste vier regels (plt) weer links tegen de kantlijn.
Ze zitten nu in de while-loop en worden dus heel vaak uitgevoerd. Dat zie je niet maar het maakt het programma onnodig traag!
Ze zitten nu in de while-loop en worden dus heel vaak uitgevoerd. Dat zie je niet maar het maakt het programma onnodig traag!
- Berichten: 4.536
Re: Projectielbaan
Dank voor de tip Xilvo. dat is interessante info
Code: Selecteer alles
@author: Ukster
"""
import math
import numpy as np
import matplotlib.pyplot as plt
M=4.08407044 #massa (kg)
g=9.8066 #gravity (m/s^2]
v=50 #initiele snelheid [m/s]
ang=0 #hoek [degr] met de x-as
k=0.002431593 #drag factor
angr=math.radians(ang)
vx=[v*np.cos(angr)]
vy=[v*np.sin(angr)]
#drag Force
F=k*v**2
#calculate initial acceleration component x and y
ax=[-(F*np.cos(angr))/M]
ay=[-g-(F*np.sin(angr))/M]
#calculate for time value on the object
t=[0]
counter=0
dt=0.01
x=[0]
y=[100]
while(y[counter]>=0):
t.append(t[counter]+dt)
vx.append(vx[counter]+dt*ax[counter])
vy.append(vy[counter]+dt*ay[counter])
x.append(x[counter]+dt*vx[counter])
y.append(y[counter]+dt*vy[counter])
angr=math.atan(vy[counter]/vx[counter])
#calculatie magnitude of new velocity
vel=np.sqrt(vx[counter+1]**2+vy[counter+1]**2)
F=k*vel**2
ax.append(-(F*np.cos(angr))/M)
ay.append(-g-(F*np.sin(angr))/M)
counter=counter+1
plt.plot(x,y,'r')
plt.ylabel("y (m)")
plt.xlabel("x (m)")
plt.show()
- Berichten: 2.318
Re: Projectielbaan
Volgende stap is dan de projectielen zoals een bal op de grond laten botsen en terugstuiten in plaats dat ze nu door de grond gaan. Moet wel kunnen met een drietal extra lijntjes Python code schat ik.
- Moderator
- Berichten: 9.942
Re: Projectielbaan
Inderdaad heel simpel; zodra y<=0 wordt de snelheid in de y-richting van teken omkeren.
Eventueel de snelheden verlagen als het stuiteren niet volledig elastisch gebeurt.
- Berichten: 891
Re: Projectielbaan
is de snelheid bij inslag niet gelijk aan wortel(Vx^2+VY^2) of ben ik mis. voor wie mijn excel file heeft opgevraagd zijn cellen b 33 b34
- Moderator
- Berichten: 9.942
Re: Projectielbaan
Dat klopt. Als het stuiteren elastisch is blijft de absolute snelheid hetzelfde. vx blijft gelijk, de absolute waarde van vy blijft hetzelfde maar die keert van teken om.Rik Speybrouck schreef: ↑zo 31 okt 2021, 17:47 is de snelheid bij inslag niet gelijk aan wortel(Vx^2+VY^2) of ben ik mis.
- Berichten: 891
Re: Projectielbaan
v y wordt toch in kwadraat gezet is dus direct +Xilvo schreef: ↑zo 31 okt 2021, 17:56Dat klopt. Als het stuiteren elastisch is blijft de absolute snelheid hetzelfde. vx blijft gelijk, de absolute waarde van vy blijft hetzelfde maar die keert van teken om.Rik Speybrouck schreef: ↑zo 31 okt 2021, 17:47 is de snelheid bij inslag niet gelijk aan wortel(Vx^2+VY^2) of ben ik mis.
- Berichten: 891
Re: Projectielbaan
de tangens van de dalingshoek = vy/vx, de boogtan heeft de dalingshoek
- Moderator
- Berichten: 9.942
Re: Projectielbaan
Klopt. Die verandert ook van teken als vy van teken verandert. Het dalen wordt stijgen.
- Berichten: 891
Re: Projectielbaan
In aansluiting met mijn excel file van verleden wil ik nog volgens probleem on line zetten. De afstand x om de resterende hoogte quasi op nul te krijgen moet dus bij benadering gebeuren. Volgens artikel in bijlage bestaat er een manier om op basis van De Lambert W functie de waarde X te idealiseren om y perfect op nul te krijgen. Ik heb alles even uitgewerkt en op papier gezet. Ik kom echter niet op de waarde die zou moeten bereikt worden namelijk +/- 232.60 meter. Ik heb ook de basiswaarden van dit artikel uitgewerkt en ze sluiten fractioneel aan met mijn benadering dus dit in niet de kwestie . De ideale x berekenen op basis van de voorgestelde formules lukt echter niet.
- Berichten: 4.536
Re: Projectielbaan
Wat betreft de horizontale afstand zit er ergens toch een foutje in een excel cel
De fout is ongeveer 2m in het hoogste punt en 4m in het landingspunt
De fout is ongeveer 2m in het hoogste punt en 4m in het landingspunt
- Berichten: 891
Re: Projectielbaan
zal aan low angle toepassing liggen denk ik hoe hoger de hoek hoe verder ik kom in vergelijking met numerieke benadering. Jammer dat die formule niet werkt met lambert w functie. Ik heb ook een file met proportionele weerstand waar je op dezelfde manier moeten werk uiteraard met andere formules en daar werkt het perfect. IK zie het in ieder geval niet.
-
- Berichten: 1
Re: Projectielbaan
Voor wie geinteresseerd is, een verhandeling uit 1977:
https://www.researchgate.net/publicatio ... _the_speed
https://www.researchgate.net/publicatio ... _the_speed