Forum: Algorithmen, Datenstrukturen und Klassendesign
by Blup,
16. Mai 2014
Das Problem lässt sich in zwei Teile untergliedern.
1. Das Steuerelement (TImage) muss an seine neue Position verschoben werden.
Für die Drehung um 90 und 270 Grad müssen Höhe und Breite getauscht werden.
2. Die enthaltene Grafik (TBitmap) muss gedreht werden.
function RotatePoint(APoint, ARotPoint: TPoint; AValue: Word): TPoint;
var
w, cosw, sinw: Double;
begin
APoint.x :=...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Blup,
16. Mai 2014
Um ein Objekt um einen Punkt rotieren zu lassen, transformiert man die Koordinaten der Punkte dieses Objektes in ein Koordinatensystem, dessen Ursprung der Rotationspunkt ist.
P1 = P0 - PR
Anschließend kann man mit der Rotationsmatrix multiplizieren.
P2 = P1 * R
Zum Schluss transformiert man die Koordinaten wieder in das ursprüngliche Koordinatensystem.
P3 = P2 + PR
Also für zwei...