Einzelnen Beitrag anzeigen

Chris88

Registriert seit: 25. Sep 2005
4 Beiträge
 
#7

Re: Kollision zweier 2dim Polygonen.

  Alt 8. Dez 2006, 14:15
Das mit dem gegenseitigen Punkttest, kommt mir etwas Langsam vor.
Versuche gerade die Lösung von Hawkeye219 zu realisieren. Mir fehlt allerdings noch eine Zeile :-/

Code:
function PolygonInPolygon(PointArrayA, PointArrayB: Array of TPoint):boolean;
var RgnA, RgnB, RgnC: hdc;
begin
  RgnA := CreatePolygonRgn(PointArrayA,Length(PointArrayA),Winding);
  RgnB := CreatePolygonRgn(PointArrayB,Length(PointArrayB),Winding);
  try
    CombineRgn(
      RgnC,      // handle to destination region
      RgnA,      // handle to source region
      RgnB,      // handle to source region
      RGN_AND    // region combining mode
    );
    (* Hier muss natürlich jetzt eine Abfrage stehen, ob es RgnB ein Polygon ist *)
  finally
    DeleteObject(RgnA);
    DeleteObject(RgnB);
    DeleteObject(RgnC);
  end;
end;
Wie muss jetzt mein Vergleich jetzt Aussehen? Ich kenne mich mit Regionen in keinster Weise aus.
Für meinen Punkttest benutze ich übrigens auch die Windows API Funktion.

Gruß
Chris
  Mit Zitat antworten Zitat