Re: Projectielbaan
Geplaatst: vr 24 dec 2021, 17:33
In mijn bericht van "vr 22 okt 2021, 20:26" is dat ook al juist verrekend volgens mij. Probeer maar eens wat er gebeurt bij positieve en negatieve snelheid...
In mijn bericht van "vr 22 okt 2021, 20:26" is dat ook al juist verrekend volgens mij. Probeer maar eens wat er gebeurt bij positieve en negatieve snelheid...
Dat denk ik ook.
De (minder gangbare) definitie van Ukster.
Dat is juist, in de term -0,0006.v wordt het teken van v meegenomen. Verderop in de berekeningen is het teken blijkbaar verloren gegaan.
Helaas krijg ik niet jouw resultaten. Als ik uitga van k_ukster = 0,0025, een bolvormige massa van 5 kg en een Cd = 0,2 (Re is groter dan 3.10^5) dan volgt hieruit een dichtheid = 6,4 kg/m3 en een diameter = 1,142 m. Een materiaal met zo'n lage dichtheid bestaat voor zover ik weet niet, zelfs balsahout of kruk is zwaarder (~150 kg/m3). Welke berekeningsprogramma heb je gebruikt?
Dank je, het is me duidelijk.
Een andere hoek en eigenschappen. Helaas krijg ik niet dezelfde antwoorden, maar veel lagere snelheden en afstanden:
Code: Selecteer alles
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 21 14:41:36 2021
@author: Ukster
"""
import math
import numpy as np
import matplotlib.pyplot as plt
#initiele datainvoer
r=0.05 #bolstraal [m]
rhoair=1.29 #luchtdichtheid [kg/m^3]
rhobol=1545 #boldichtheid [kg/m^3]
g=9.81 #gravity (m/s^2]
Cd=0.47 #dragcoefficient [-]
v=50 #initiele snelheid [m/s]
ang=30 #initiele hoek [degr] met de x-as
#berekening dragfactor en bolmassa
k=1/2*rhoair*np.pi*r**2*Cd #drag factor
M=4/3*np.pi*r**3*rhobol #bolmassa (kg)
#hoek omzetten naar radialen
#horizontale en verticale snelheidscomponent
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=[0]
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()