Hallo,
... hab' auch mal 'nen bisschen rumprobiert :
Delphi-Quellcode:
var
Steigung : real;
Winkel : real;
...
Steigung := (x1 - x0) / (y1 - y0);
Winkel := RadToDeg(arctan2(y1-y0, x1-x0));
Winkel := (Trunc(Winkel * 10)) / 10;
Steigung gibt den Steigungswert (dezimal) zwischen zwei Punkten,
-beschrieben durch X0,Y0 und X1,Y1- aus, allerdings sind hier Werte von 0 ... unendlich
möglich, so dass eine Farbzuweisung schwierig wird.
Winkel gibt die Steigung in einem Bereich von -90,0 ... +90,0 grad zurück, wodurch die
Farbzuweisung schon etwas "übersichtlicher" wird.
Die Farben könnten z.B. in einem array gespeichert sein und über eine case-Anweisung
zugewiesen werden.
z.B.
Delphi-Quellcode:
const
Colors : array[1..9] of TColor = (clBlue .....
...
case Winkel of
0..10 : pen.Color := Colors[1];
11..20 : pen.Color := Colors[2];
...
end;
alternativ kann natürlich auch entsprechend des Winkels
ein Farbanteil (z.B. Rot) verändert werden.
... nur mal so als Denkanstoss
Markus H.