Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ball-Flugbahn berechnen (https://www.delphipraxis.net/12007-ball-flugbahn-berechnen.html)

Yheeky 18. Nov 2003 17:31


Ball-Flugbahn berechnen
 
Hi Physik-Freaks :zwinker:
es geht um das Entwickeln einer Formel. Ich habe einen Ball (z.B. einen Fussball) der vom Boden geschossen wird. Wie bekomme ich eine Formel, mit der ich die Flugbahn berechnen kann? Hab Physik letztes Jahr abgewählt, aber ein paar Faktoren müssen ja zwingend in der Formel vorkommen:
g (9,81), s (Strecke) und v (Geschwindigkeit) doch auf jeden Fall. Wie sieht´s mit der Beschleunigung "a" aus?

Gruß Yheeky

Thunderchild 18. Nov 2003 17:36

Re: Ball-Flugbahn berechnen
 
a (in diesem Falle g) wirkt sich auf die Geschwindigkeit aus.
Wenn Du das diskret rechnen willst (zum Bleistift für einen Graphen), dann berechne für jeden Schritt zuerst die neue Geschwindigkeit v0+a*t und berechne dann h:=h+v*deltaT;

ansonsten ist s=-g/2*t^2+v0*t (v0 ist senkrechte Anfangsgeschwindigkeit, g ist negativ, weil es nach unten zieht und damit die Höhe s verringert).

d3g 18. Nov 2003 17:37

Re: Ball-Flugbahn berechnen
 
Beim Fußball handelt es sich um einen schiefen Wurf mit Abwurfhöhe hA = 0.

y-Richtung:
sy(t)=v0*sin alpha * t - 0.5*g*t^2
vy(t)=v0*sin alpha - gt
ay(t)=-g

x-Richtung:
sx(t)=v0*cos alpha * t
vx(t)=v0*cos alpha
ax(t)=0

alpha ist der Abwurfwinkel, v0 der Betrag des Geschwindigkeitsvektors (die Abwurfkraft also). Im Prinzip sollte es reichen, vom Ursrungs links unten aus nach der Zeit t sy(t) weiter oben und sx(t) weiter rechts den Ball zu zeichnen.

MrKnogge 18. Nov 2003 17:43

Re: Ball-Flugbahn berechnen
 
hat jemadn auch ne Formeloder n bissl Code für den Winkel bei "Block-breaker" ?

devnull 18. Nov 2003 17:48

Re: Ball-Flugbahn berechnen
 
Hi,
hab auch schon mal Flugbahnen berechnet (allerdings für mein TankWars-ähnliches Spiel):

Delphi-Quellcode:
 koor_x := speed * cos(winkel / 180 * Pi ) * t;
 koor_y := speed * sin(winkel / 180 * Pi ) * t - 0.5 * erdanziehung * t * t;
'speed': für die Geschwindigkeit, mit der der Gegenstand abgefeuert wird
'winkel': der Winkel des Rohres zum waagrechten Untergrund
'erdanziehung': erklärt sich von selber
't': Anzahl des Durchlaufs f(t)

:wall: Hoffe, dass das so geht ! Hab ich mir grad ausgedacht ...

devnull

Yheeky 18. Nov 2003 19:21

Re: Ball-Flugbahn berechnen
 
Danke erstmal für die Antworten. Ich habe allerdings ein paar Fragen:
Wie kann ich überhaupt die Flugbahn des Balles jetzt mal auf eine Form übertragen (mit Canvas)?

Es sind ja, wenn ich das richtig sehe, auch verschiedene Formeln hier rein geschrieben worden. Welche ist das jetzt die beste bzw. die richtig?

Wichtig ist mir aber erst mal, dass ich das visuell mit einem Graphen auf den Bildschirm bekomme...

Gruß Yheeky

d3g 18. Nov 2003 20:21

Re: Ball-Flugbahn berechnen
 
Zitat:

Zitat von Yheeky
Es sind ja, wenn ich das richtig sehe, auch verschiedene Formeln hier rein geschrieben worden. Welche ist das jetzt die beste bzw. die richtig?

Meine natürlich ;-). Im Ernst: Die Formeln von Thunderchild, devnull und mir sind dieselben. Verwende einfach den von devnull geposteten Programmcode.

Yheeky 18. Nov 2003 20:25

Re: Ball-Flugbahn berechnen
 
Okay, aber wie kann ich´s genau auf die Oberfläche zeichnen?
Und was ist bei devnull mit "t" gemeint?

HAF4ever 18. Nov 2003 21:26

Re: Ball-Flugbahn berechnen
 
:gruebel: und wie siehts mit den luftwiederstand aus...?
das dürfte doch auch keine schwierigkeit sein die formel irgendwoher auszugraben ...

woki 18. Nov 2003 22:57

Re: Ball-Flugbahn berechnen
 
HI,

wenn du den Luftwiederstand berücksichtigen willst, wird es eine ganze Ecke heftiger, weil der in hohem Maße von der Geschwindigkeit abhängt. Je schneller, desto mehr bremst er. Außerdem gibt es Bereiche, in denen F~v, andere in denen f~v^2 oder sogar f~v^3 gilt.

Grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:30 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz