AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D Schiefer Wurf

Ein Thema von sabbert · begonnen am 13. Nov 2009 · letzter Beitrag vom 13. Nov 2009
Antwort Antwort
sabbert

Registriert seit: 16. Apr 2008
67 Beiträge
 
#1

Andorra 2D Schiefer Wurf

  Alt 13. Nov 2009, 14:29
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 , 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:
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;
Keine Ahnung was falsch ist will nur das ein Objekt, hier Ball, eine Parabel fliegt.

mfg
Christian
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Andorra 2D Schiefer Wurf

  Alt 13. Nov 2009, 14:41
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.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Andorra 2D Schiefer Wurf

  Alt 13. Nov 2009, 14:56
Delphi-Quellcode:
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;
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
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