![]() |
Andorra 2D Schiefer Wurf
Hallo zusammen,
habe folgendes Problem. Will einen schiefen Wurf in Andorra 2D simulieren. Habe Formeln gesucht und diese versucht in Delphi zu übersetzen, was eigentlich auch funktioniert hat- Habe es erfolgreich,glaube ich zumindest :D, mit 45° getestet, also das Objekt fliegt eine Kurve. Doch bei anderen Winkeln ist das Objekt gar nicht mehr zu sehen. Hier einfach mal der Code:
Delphi-Quellcode:
Keine Ahnung was falsch ist will nur das ein Objekt, hier Ball, eine Parabel fliegt.
procedure TBall.DoMove(TimeGap: double);
var v0,t,vx,alpha : double; begin inherited; v0 := 50; vx := 50; t := timegap; //Zeit alpha := 45 ; //Abschusswinkel if Y <= 559 then//wenn kleiner als 559, also wenn "Boden" erreicht dann begin Y := 559 + -(-(9.81/2)*sqr(x)/(sqr(v0)*sqr(cos(alpha)))+x*tan(alpha)); X := x + abs(vx*t*cos(alpha)); end else begin Y := 561;// soll sozusagen den boden darstellen , also "0";soll verschoben werden X := sqr(v0) * sin(2*alpha) / 9.81; //Wurfweite ausrechnen end; end; mfg |
Re: Andorra 2D Schiefer Wurf
Ich habe mir deinen Code jetzt nicht genau angeschaut, aber denke daran, dass du simulierst und nicht berechnest. Das bedeutet, dass du jeweils die Veränderung zum letzten Bild berechnen musst. Dazu benötigst du jeweils die Ableitung deiner verwendeten Funktionen.
|
Re: Andorra 2D Schiefer Wurf
Delphi-Quellcode:
Sollte es nicht so gehen? (Ohne Gewähr, nur schnell im Editorfenster zusammengebastelt) Wie Andreas schon sagt, handelt es sich dabei um eine Simulation, keine Berechnung.
type
TBall = class(TAdSprite) public VelocityX, VelocityY: double; procedure DoMove(TimeGap: double); override; procedure Launch(Alpha, Velocity: double); end; procedure TBall.DoMove(TimeGap: double); const g = 9.81; begin X := X+VelocityX*TimeGap; Y := Y+VelocityY*TimeGap; VelocityY := VelocityY + g*TimeGap; end; procedure TBall.Launch(Alpha, Velocity: double); begin VelocityX := cos(Alpha)*Velocity; VelocityY := sin(Alpha)*Velocity; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz