Also ich zeige hier mal, wie man einen Pfeil zeichnet, der in eine beliebige Richtung zeigt.
Zunächst brauchen wie die Hilfsfunktionen aus:
Drehung und Verschiebung im 2D Raum
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
pfeil : array[0..3] of TPoint;
begin
// Pfeil im Ursprung zeigt nach "rechts"
pfeil[0] := Point(0 ,0);
pfeil[1] := Point(0, -10);
pfeil[2] := Point(30, 0);
pfeil[3] := Point(0, 10); // die Linie wird in Canvas.Polygon autom. geschlossen
// Drehung des Pfeils im Ursprung
Rotate2Darray(pfeil, 0.5);
// Verschiebung des Pfeils
Translate2Darray(pfeil, Point(x, y));
// Zeichen des Pfeils
Canvas.Polygon(pfeil);
end;