Projectielbaan

Moderator: physicalattraction

Reageer
Gebruikersavatar
Berichten: 891

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
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.

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
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!

Gebruikersavatar
Berichten: 4.536

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
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.

Gebruikersavatar
Moderator
Berichten: 9.942

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
Berichten: 891

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
Moderator
Berichten: 9.942

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
Berichten: 891

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
Berichten: 891

Re: Projectielbaan

de tangens van de dalingshoek = vy/vx, de boogtan heeft de dalingshoek

Gebruikersavatar
Moderator
Berichten: 9.942

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
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.
Bijlagen
DSCN0196.JPG
DSCN0195.JPG
DSCN0194.JPG
DSCN0193.JPG
DSCN0192.JPG

Gebruikersavatar
Berichten: 4.536

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.png
data.png (4.72 KiB) 781 keer bekeken

Gebruikersavatar
Berichten: 891

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.

Berichten: 1

Re: Projectielbaan

Voor wie geinteresseerd is, een verhandeling uit 1977:

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

Reageer