Forum: Multimedia
Delphi
by Kroko1999,
21. Apr 2005
Also ich habe jetzt Delphi bei der Hand und gerade getestet und noch frisch:
procedure DrehePunkt (var APunkt: TPoint; AWinkel: Real; ADrehPunkt: TPoint);
var
HX,Hy: Integer;
Sw,Cw: Extended;
begin
Math.SinCos(AWinkel,Sw,Cw);
Hx := APunkt.X-ADrehpunkt.X;
Hy := APunkt.Y-ADrehpunkt.Y;
Forum: Multimedia
Delphi
by Kroko1999,
21. Apr 2005
GELÖSCHT
ROUND ist richtig hatte ich nicht dran gedacht,
und Denkfehler:
P.X := Round (Hx*Cos(AWinkel)-Hy*Sin(AWinkel);
P.Y := Round (Hx*Sin(AWinkel)+Hy*Cos(AWinkel);
Forum: Multimedia
Delphi
by Kroko1999,
21. Apr 2005
procedure DrehePunkt (P: TPoint; AWinkel: single; ADrehPunkt: TPoint);
var
H: TPoint;
begin
H.X := P.X-ADrehpunkt.X;
H.Y := P.Y-ADrehpunkt.Y;
H.X := H.X*Cos (AWinkel); // Winkel im Bogenmaß
H.Y := H.Y*Sin (AWinkel);
Result.X := H.X+ADrehpunkt.X;
Result.Y := H.Y+ADrehpunkt.Y;