problem - schiefer wurf
Verfasst: Samstag 4. Juni 2005, 18:29
Ich bin dabei eine simulation eines kanonballs zu schreiben.
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
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.
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.