Hui, schon so viele Antworten so früh am morgen
@Aphton: Genau das wollte ich beschreiben
@Uwe Raabe:
Funktionniert leider nicht richtig, es liegt wahrscheinlich daran, dass ich noch den Ursprung, also den Punkt um den ich drehe, mit einbeziehen muss.
Aber der Ansatz mit ArcTan2 hat mich auf folgende funktionierende Berechnung gebracht:
Delphi-Quellcode:
procedure TFuncPlotter.OnMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p1, p2: TPoint;
begin
p1.X := FStartPos.X - Origin.X;
p1.Y := FStartPos.Y - Origin.Y;
p2.X := X - Origin.X;
p2.Y := Y - Origin.Y;
Rotation := FPlotterStartAngle + RadToDeg(ArcTan2(p1.Y, p1.X) - ArcTan2(p2.Y, p2.X));
end;
MfG Bigben37