Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#16

Re: Fahrzeug Simulation: Physik, Canvas & Co

  Alt 18. Sep 2006, 11:11
Hallo werte Gemeinde,
nachdem ich nun eure Vorschläge (inbes. den letzten Beitrag) versucht habe umzusetzen, komme ich zu folgendem Code -- dessen Richtigkeit mir aber nicht ganz geheuer ist, zumal das Auto sich auch sehr merkwürdig benimmt (erinnert eher an eine Karusellfahrt). Vielleicht habt ihr eine Idee, was da physikalisch nicht ganz korrekt ist:
Delphi-Quellcode:
procedure TForm1.StartBtnClick(Sender: TObject);
var ...
Begin
  XOffset := Auto.width div 2;
  YOffset := Auto.height div 2;
  
  X := Auto.left + XOffset;
  Y := Auto.top + YOffset;
  
  Theta := 0;
  DegToRad := Pi/180;

  StartTime:= Now;
  Tag := 0;
  
  While tag = 0 do
  Begin
    Sleep(100);
    Application.ProcessMessages;
  
    Vx := edit1.value;
    Vy := edit2.value;
    Omega := edit3.value;
    Radius := edit4.value;

    Currtime := Now;
    dt := (Currtime - Starttime)* secsperday;
    Starttime := Currtime;
    
    dx := vx * dt;
    dy := vy * dt;
    x := x + dx;
    y := y + dy;
    dTheta := DegToRad * omega * dt;

    Theta := Theta + dTheta;

    x := x + Radius * cos(Theta);
    y := y + Radius * sin(Theta);
    
    Auto.left := round(x) - xoffset;
    Auto.top := round(y) - yoffset;
  End;
End;
Meine Frage ist nun, läßt sich die Bewegung eines Fahrzeugs mit allein den vier Angaben:
Linear:
1 Vx := edit1.value;
2 Vy := edit2.value;
Angular:
3 Omega := edit3.value;
4 Radius := edit4.value;

korrekt simulieren?

Danke euch!

Gruss
Jasmin
  Mit Zitat antworten Zitat