Einzelnen Beitrag anzeigen

Benutzerbild von Mokus
Mokus

Registriert seit: 24. Sep 2013
165 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Update [Festgefressen] Konvexhülle eines polygon berechnen

  Alt 30. Okt 2013, 07:19
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 ?
Markus
es gibt nur 10 arten von menschen !
die die binär verstehen und die die nicht. !

Geändert von Mokus (30. Okt 2013 um 07:23 Uhr)
  Mit Zitat antworten Zitat