Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#12

AW: Kürzester rotationsweg bei einem Kreis?

  Alt 30. Dez 2012, 17:55
Aufjedenfall funktioniert es!^^

Musste allerdings beim kalkulieren der rotation noch ne condition eibauen, damit der wraparound von 0 nach 259 funktioniert.

Delphi-Quellcode:
    if getShortestRotation(FRotation, FRotationGoal) < 0 then
    begin
      if FRotation > 0 then
      begin
        FRotation := Abs((FRotation - 1) mod 360);
      end
      else
      begin
        FRotation := 359;
      end;
    end
    else
    begin
      FRotation := Abs((FRotation + 1) mod 360);
    end;
edit: in diesem fall sit dein weg sogar etwas langsamer, da die pointer erst dereferenziert werden müssen.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat