Nun gut,
mir wurde zu Ohren getragen, dass dieser Topic nicht sehr genau ist, und ich daher nicht mit Hilfe rechnen kann.
Also werde ich etwas konkreter;
Ich habe ein Polygon, mit verschiedenen Punkten. DIe Punkte werden per Mausklick gespeichert.
Um die Konvexehülle zu erzeugen, wollte ich zu jeden Punkt ein Dreieck bilden und deren Winkel bestimmen.
Diese Winkel kontrollier ich dann, und such dann nach dem größten, ggf den kleinsten.
( Hängt halt davon ab, wierum gelaufen werden soll. )
Nun ist aber das Problem, ich bestimm die Innenwinkel und gleiche diese Miteinnander.
Diese Ergebnisse könnten gefälscht werden.
folgende Function sollte es mir aber errechnen.
Delphi-Quellcode:
function TPoly.berechneWinkel(Punkt1, Punkt2: TPunkt): Real;
var
dx, dy: Real;
begin
dx := Punkt2.IXKoordinate - Punkt1.IXKoordinate;
dy := Punkt2.IYKoordinate - Punkt1.IYKoordinate;
if (dx = 0) and (dy = 0) then
begin
result := 360;
end
else
result := RadToDeg(ArcTan(dx / dy));
end;
end
Nun ist die Frage, das ist eher eine mathematisches Problem, wie kann ich per Delphi die AUSSENwinkel errechnen ?