Einzelnen Beitrag anzeigen

static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#18

Re: Flugbahn mit äusseren Einwirkungen berechnen

  Alt 17. Okt 2005, 10:36
Morjen,

so ich habe mal versucht es umzusetzen

folgendes ist bei rausgekommen:

Delphi-Quellcode:
function TProjectile.Trajectory: TTrajectory;
var
  T:Extended;
begin
  Result.Steps:=0;
  if Position.Y > FGround then Exit;

  T:=0.1;
  repeat
    Inc(Result.Steps);
    SetLength(Result.Course,Result.Steps);

    Result.Course[Result.Steps-1].X:=Trunc((FPower * Cos(FAngle / 180 * Pi ) * T) +
                                           (FWind * T)) + FPosition.X;

    Result.Course[Result.Steps-1].Y:=Trunc(-(FPower * Sin(FAngle / 180 * Pi ) * T -
                                           (FWeight / 10) * FGravity * T * T) + FPosition.Y);

    if FRange > 0 then
      if Result.Course[Result.Steps-1].X >= Result.Course[Result.Steps-1].X + FRange then
      begin
        Inc(Result.Steps);
        SetLength(Result.Course,Result.Steps);
        Result.Course[Result.Steps-1].X:=Result.Course[Result.Steps-2].X;
        Result.Course[Result.Steps-1].Y:=FGround;
        Break;
      end;

    T:=T+0.1;
  until Result.Course[Result.Steps-1].Y >= FGround;
end;
Ich weiß nicht ob das logisch so ganz korrekt ist, jedenfalls tut es was wenn man die Werte verändert?

Ich habe mal meine Testanwendung mit angehängt.
Angehängte Dateien
Dateityp: zip flugbahn_392.zip (2,3 KB, 3x aufgerufen)
Dateityp: exe flugbahn_168.exe (301,0 KB, 25x aufgerufen)
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat