Flugkurve darstellen
-
Hallo! Ich versuche zurzeit mal ein spiel zu schreiben. Leider fehlen mir dazu zwei dinge von deren umsetzung ich keine ahnung habe:
1. Wie zeichne ich eine Strecke in Win32(bei der MFC ging das immer mit Move und dann von diesem punkt aus LineTo).
2. Mein hauptproblem. Ich hab die formel für die flugkurve auszurechnen nur weiß ich nicht wie ich das dann mit bitmap bzw. Icons den ball in dieser Flugkurve zeichnen soll.Hat irgendjemand das schon mal gemacht oder weiß die lösung oder einen ansatz?
thx
MFG
Hansi
-
Flugkurve steht in jedem Physikbuch und Linienzeichnen in der MSDN (unter GDI), müsste aber auch LineTo heissen.
Bye, TGGC \-/
-
TGGC schrieb:
Flugkurve steht in jedem Physikbuch
Flugkurven kannaja...
Er weiß nur nicht, wie er ein Bitmap da zeichnet.Suche nach Blitting Funktionen.
-
Ganz genau. Ich hab die Formel, aber ich weiß nich wie ich die formel in x-y Kordinaten für die ganzen Bitmaps nehmen soll.
MFG
Hansi
-
Ja aber genau diese Formel für x und y steht doch in den Bücher und ist evtl. nur noch etwas umzuformen.
Bye, TGGC \-/
-
Ja aber grad mit dem umformen hab ich ja meine probleme....
Ich bin in der 9. klasse. Und wir hatten das in mathe noch nicht. Das is grad mein problem.Danke
MFG
Hansi
-
Hansi schrieb:
Ja aber grad mit dem umformen hab ich ja meine probleme....
Ich bin in der 9. klasse. Und wir hatten das in mathe noch nicht. Das is grad mein problem.Au weia
Das kann ich kaum glauben...
-
ich hab hier ne schöne formel für dich, sehr komplex aber sie müsste das richtige ergebnis bringen:
y=anfangsgeschwindigkeit*x*sin(a)-5*x^2
x ist dabei die zurückgelegte strecke auf der x achse.
a ist der winkel in dem der gegenstand "geworfen" wird.
die anfangsgeschwindigkeit ist die geschwindigkeit beim abwurf
am ende kommt ne schöne parabel raus
-
@otze: Was soll das für eine Formel sein? Wo ist die Gravitationskonstante? Es reicht nicht, wenn eine schöne Parabel herauskommt. Sie sollte auch schon eine realistische Bahn darstellen.
-
die gravitation ist ind er 5 integriert, eigentlich heissts 0,5*g, und da man g normalerweise auf 10 setzt,reicht das so.
natürlich kanns man auch 9.8 setzen, aber ich glaub, die 0.2 kann man leicht vernachlässigen.//edit und die schöne parabel kommt dadurch zustande,da diese formel aus einem oberstufen physikbuch stammt :p
-
Danke otze ich probiers sofort aus. Achso ich bin echt 15 und 9. klasse für die leute die mirs nicht glauben wollen
.
Sgt. Nukem dir auch danke hätt ich fast vergessen sorry. Ich konnte leider mit den blitting-funktionen nicks anfangen. Sorry soweit wie ich das gelesen hab sind die für DirectX oder?Danke und sorry das ich dich vergessen hab... kommt nich wieder vor
MFG
Hansi
-
otze schrieb:
y=anfangsgeschwindigkeit*x*sin(a)-5*x^2
x ist dabei die zurückgelegte strecke auf der x achse...Einheitenumformung:
Habe nirgendwo gesehen, dass x die Einheit Sekunde erhalten sollte (was für eine Strecke auch - sagen wir mal - eher unüblich ist). Dann stimmt die Formel so halbwegs.
otze schrieb:
//edit und die schöne parabel kommt dadurch zustande,da diese formel aus einem oberstufen physikbuch stammt :p
Ohhh, aus einem Oberstufenbuch...
Ich bevorzuge trotzdem Literatur die mir ein g angibt wo eins ist und vernünftige Formelzeichen verwendet :p .
-
@otze:
Du hast vergessen die komplexe Formel anzugeben.Bye, TGGC (Der Riker ist zurück)
-
ja tggc, es tut mir wirklich leid, dass ich die formel so umgeformt hab,dass sie für ein pc programm direkt so zu übernehmen ist.
ich schäme mich wirklich.
@mastah
hier mal die originale
sx=v0*t*cos α
sy=v0*t*sin α-0,5*g*t2natürlich muss ich dir irgendwo recht geben mastah, meine formel ist nicht wirklich 100%korrekt,dafür aber auch etwas perfomanter-winkelfunktionen gehören ja nicht wirklich zu den schnellsten operationen,desweiteren halt ichs persönlich für unnötig, ein pc programm mit konstanten zuzukleistern, wenn man sie direkt in einen wert mit reinpacken kann.
-
otze schrieb:
desweiteren halt ichs persönlich für unnötig, ein pc programm mit konstanten zuzukleistern, wenn man sie direkt in einen wert mit reinpacken kann.
Sollte mal aus Gründen der Lesbarkeit aber imho machen. Wenn du schreibst 0.5*9.81 weiß jeder was gemeint ist. Und die eine Multiplikation optimiert der Compiler sowieso weg.
-
Normalerweise sind diese nach der Zeit parametrisierte Funktionen für Simulationen sinnvoller.
Bye, TGGC \-/