Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Polygone zusammenfassen , TEIL 2 (https://www.delphipraxis.net/171807-polygone-zusammenfassen-teil-2-a.html)

bernhard_LA 26. Nov 2012 12:09

Polygone zusammenfassen , TEIL 2
 
Liste der Anhänge anzeigen (Anzahl: 4)
wenn ich eine Lösung für das Zusammenfügen einfacher Polygone gefunden habe, benötige ich nächsten Schritt auch ein Lösung um eine Komplexere Struktur als ein zusammenhänges Polygon darzustellen (Polygon Task #2),
Ein MultiPolygon Struktur wäre für meine weitere Auswertung ungünstig ( Polygon Task 4 Multi Polygon).

Ich benötige ein einfaches Polygon mit ggf. einen kleinen Überlappungsbereich. Die Musterlösung habe ich in Bild 4 Einfaches Polygon mit Überlappungsbreich gezeichnet.

Uwe Raabe 26. Nov 2012 12:20

AW: Polygone zusammenfassen , TEIL 2
 
Bis auf Bild 4 lässt sich das alles mit dem Tesselator der glu32.dll erledigen (die sollte eigentlich auf jedem Windows vorhanden sein).

Diese Überlappung in Bild 4 ist allerdings eher unüblich und womöglich gar nicht eindeutig (und somit nicht automatisch zu bekommen). Das ginge wohl nur, wenn man das große Polygon in zwei Bereiche aufteilt, so daß der Patch für die Überlappung eindeutig einem Teil zu zuordnen ist. Dann das ganze nochmal für den zweiten Teil.

Allerdings widerspricht das sich selbst überlappende Polygon schon dem, was man eigentlich aus dem Tesselator herausbekommen möchte.

Ich hatte auch mal eine Klasse geschrieben, die die ganzen glu-Aufrufe kapselt, finde die aber gerade nicht wieder. Wenn dich das interessiert, muss ich nochmal suchen.

Jens01 26. Nov 2012 12:54

AW: Polygone zusammenfassen , TEIL 2
 
Guck doch mal, ob nicht das gr32_lines geht. Ich habe Polygonflächen damit schon recht einfach gemacht, auch mit Schraffuren usw.. Von Angus ist auch dies Clipper.

brechi 2. Dez 2012 21:11

AW: Polygone zusammenfassen , TEIL 2
 
Also die beste Polygon Clipping Librar ist wohl
http://www.cs.man.ac.uk/~toby/gpc/

Es gibt zwei Pascal implementierungen, wobei eine aber nen memory leak hat so viel ich weiß.
Ok ist heer eine ANtwort auf deinen anderen Thread.

Ich versteht aber nicht wie du auf die Loesung bei dir kommst, warum z.b. links das ueberlappend sein soll und die anderen beiden "abgesetzten" Bereiche nicht. Sollte aber mit dem Alg durch die Einhüllende etc. "irgendwie" machbar sein.

Okay du bildest die Einhüllende, aus allen Punkten die nicht verwendet wurden bildest du einzelne geschlossene Polygone (A, Rot, Bild 3). Alle anderen Punkte verbindeest du zu einem Polygon (B, schwarz, Bild 3). Dann berechnest du A-B.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz