Das programm habe ich schon fertiggestellt, allerdings in casiobasic(für meinen taschenrechner).
Ich habe es in python 'übersetzt' aber bekomme jetzt immer komische ergebnisse...
das ist mein programm:
winkel=A
Zeitinsgesamt=T
Abschussstaerke(Velocity)=V
Höhe=H
Gravitationskraft=G
C=aerodynamische konstante (auch cd genannt)
Vc(kritische geschwindigkeit)=I
Luftdichte=Q
oberfläche der kugel=flaeche
Masse der Kugel=M
Zeitintervalle=E
____________________
x wert nach jedem Schritt=U
y wert nach jedem Schritt=W
Code: Alles auswählen
from math import *
def berechnung():
listex=[]
listey=[]
T=0
A=70
A=radians(A)
V=100
H=1
G=9.81
C=0.45
I=3.1
Q=1.22
flaeche=20
M=30
K=C*Q*flaeche/2*M
E=0.001
B=0
Z=0
D=0
F=0
N=V*cos(A)
O=V*sin(A)
U=0
W=H
while W>=0:
if 2*sqrt(flaeche/pi)>V:
r=1
elif 2*sqrt(flaeche/pi)<V:
r=0
T+=E
D=-K*V**2*cos(A)/2
F=-G-K*V**2*sin(A)/2
if r:
D=-K*V**2*cos(A)
F=-G-K*V*sin(A)
U+=N*E
W+=O*E
N+=D*E
O+=F*E
V=sqrt(N**2+O**2)
A=atan(O/N)
listex.append(U)
listey.append(W)
print listex,listey
Ich hoffe ihr könnt helfen!
Wie gesagt, auch dem taschenrechner hat es geklappt... :/
Der einzige unterschied den ich mir vorstellen kann ist, dass die winkel anders verstanden werden in python....
Wenn es gebraucht wird kann ich noch das basicprogramm hier schreiben...
Edit (Leonidas): Code in Python-Tags gesetzt.