Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

Re: Projectielbaan

ukster schreef: zo 31 okt 2021, 10:32 Testje om jouw excelcorrectie te checken..
onder dezelfde condities:
beginhoogte =100m
horizontaal afschieten met 50m/s
Volgens het pythonprogramma land het projectiel op x=215,8m
test.png
klopt perfect
Gebruikersavatar
ukster
Artikelen: 0
Berichten: 4.919
Lid geworden op: za 28 nov 2015, 10:42

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.

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()
Gebruikersavatar
Xilvo
Moderator
Artikelen: 0
Berichten: 10.756
Lid geworden op: vr 30 mar 2018, 16:51

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!
Gebruikersavatar
ukster
Artikelen: 0
Berichten: 4.919
Lid geworden op: za 28 nov 2015, 10:42

Re: Projectielbaan

Dank voor de tip Xilvo. dat is interessante info 8-)

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()
Gebruikersavatar
wnvl1
Artikelen: 0
Berichten: 2.964
Lid geworden op: di 20 jul 2021, 21:43

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.
Gebruikersavatar
Xilvo
Moderator
Artikelen: 0
Berichten: 10.756
Lid geworden op: vr 30 mar 2018, 16:51

Re: Projectielbaan

wnvl1 schreef: zo 31 okt 2021, 16:51 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.
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.
Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

Re: Projectielbaan

Xilvo schreef: zo 31 okt 2021, 17:11
wnvl1 schreef: zo 31 okt 2021, 16:51 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.
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.
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
Gebruikersavatar
Xilvo
Moderator
Artikelen: 0
Berichten: 10.756
Lid geworden op: vr 30 mar 2018, 16:51

Re: Projectielbaan

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.
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.
Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

Re: Projectielbaan

Xilvo schreef: zo 31 okt 2021, 17:56
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.
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.
v y wordt toch in kwadraat gezet is dus direct +
Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

Re: Projectielbaan

de tangens van de dalingshoek = vy/vx, de boogtan heeft de dalingshoek
Gebruikersavatar
Xilvo
Moderator
Artikelen: 0
Berichten: 10.756
Lid geworden op: vr 30 mar 2018, 16:51

Re: Projectielbaan

Rik Speybrouck schreef: zo 31 okt 2021, 18:01 de boogtan heeft de dalingshoek
Klopt. Die verandert ook van teken als vy van teken verandert. Het dalen wordt stijgen.
Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

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.
Bijlagen
DSCN0196
DSCN0195
DSCN0194
DSCN0193
DSCN0192
Gebruikersavatar
ukster
Artikelen: 0
Berichten: 4.919
Lid geworden op: za 28 nov 2015, 10:42

Re: Projectielbaan

Wat betreft de horizontale afstand zit er ergens toch een foutje in een excel cel 8-)
De fout is ongeveer 2m in het hoogste punt en 4m in het landingspunt
data
data 1223 keer bekeken
Gebruikersavatar
Rik Speybrouck
Artikelen: 0
Berichten: 892
Lid geworden op: do 06 aug 2015, 10:32

Re: Projectielbaan

ukster schreef: do 04 nov 2021, 10:30 Wat betreft de horizontale afstand zit er ergens toch een foutje in een excel cel 8-)
De fout is ongeveer 2m in het hoogste punt en 4m in het landingspunt
data.png
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.
InfiniTies
Artikelen: 0
Berichten: 1
Lid geworden op: do 04 nov 2021, 12:34

Re: Projectielbaan

Voor wie geinteresseerd is, een verhandeling uit 1977:

https://www.researchgate.net/publicatio ... _the_speed

Terug naar “Klassieke mechanica”