Einzelnen Beitrag anzeigen

Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#11

Re: Ball-Flugbahn berechnen

  Alt 18. Nov 2003, 23:27
Hi,

mit "t" ist bei devnull die Zeit gemeint. Weise also t irgendeinen positiven Wert zu, dann kannst du in Abhängigkeit davon die Koordinaten des Balls ausrechnen.
Zum Zeichnen der Flugbahn rate ich dir die Form.Canvas (die Grafikoberfläche der Form) zu benutzen. Dazu solltest du zwei Befehle kennen:
Form.Canvas.MoveTo(x,y) setzt den (unsichtbaren) Grafik-Cursor auf die Koordinaten (x,y)
Form.Canvas.LineTo(x,y) zeichnet eine Linie von der aktuellen Position des Grafik-Cursors zu den Koordinaten (x,y) und setzt den Cursor darauf.
Statt "Form" musst du natürlich den Namen der Form angeben, auf der du zeichnen willst.

Probier einmal folgende Prozedur:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Koor_x, Koor_Y,speed,winkel,erdanziehung,t: Real;
begin
t:=0;
Koor_x:=100;
Koor_y:=100;
winkel:=45;
Speed:=30;
Erdanziehung:=9.81;
Canvas.MoveTo(100,100);
While t<100 do
  begin
    koor_x := speed * cos(winkel / 180 * Pi ) * t+100;
    koor_y := -(speed * sin(winkel / 180 * Pi ) * t - 0.5 * erdanziehung * t * t)+100;
    Canvas.LineTo(Round(koor_x),Round(koor_y));
    t:=t+0.1;
  end;
end;
Das sollte eine Flugbahnaufzeichnen.

Grüße
Seniman

[edit=FuckRacism]Delphi-Tax gesetzt, nim doch bitte in Zukunft delphi anstatt code Mfg, FuckRacism[/edit]
  Mit Zitat antworten Zitat