Wie Sie sagen, wenn eine Linie schneidet, ein polygon in C#?
Ich habe eine Frage, die sehr ähnlich wie diese:
Wie Sie wissen, wenn Sie eine Linie schneidet eine Ebene in C#?
Ich bin auf der Suche nach einer Methode (in C#), die erzählt, wenn eine Linie sich schneidende einem beliebigen polygon.
Ich denke, die Algorithmus von Chris Marasti-Georg war sehr hilfreich, aber es fehlte die wichtigste Methode, D. H. Linie für Linie Kreuzung.
Kennt jemand eine line-intersection-Methode zu vervollständigen, Chris Marasti-Georg-code oder etwas ähnliches?
Gibt es eine built-in-code für diese in C#?
Diese Methode ist für die Verwendung mit dem Microsoft Bing Maps-Algorithmus erweitert mit einer Verbotenen Zone-Funktion. Der resultierende Pfad muss nicht in die verbotene Zone (willkürliche polygon).
InformationsquelleAutor svanerik | 2009-07-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist kein builtin-code für edge-detection eingebaut .NET-framework.
Hier der code (Portierung auf C#) das tut, was Sie brauchen (der tatsächliche Algorithmus ist auf comp.Grafik.algorithmen, die auf Google-groups) :
InformationsquelleAutor Mike J
Etwas off-topic, aber wenn die Zeile unendliche ich denke, es gibt eine viel einfachere Lösung:
Die Linie geht nicht durch das polygon, wenn alle Punkt liegen auf der gleichen Seite von der Linie.
Mit Hilfe von diesen beiden:
Ich habe dieses kleine Juwel:
InformationsquelleAutor jdpilgrim
Zur Erkennung von Kollisionen zwischen Polygonen in unserer silverlight-map-Projekt, wir sind mit clipper-Bibliothek:
Frei für die kommerzielle Nutzung, kleine Größe, große Leistung und sehr einfach zu bedienen.
Clipper Webseite
InformationsquelleAutor D.Rosado
Dieser Artikel sieht aus wie wird es helfen
http://www.codeproject.com/KB/recipes/2dpolyclip.aspx
Dieser code ist ein zwei-dimensionale polygon-clipping-Algorithmus, der bestimmt, genau dort, wo eine Linie schneidet mit einer polygon-Grenze. Dieser code funktioniert sowohl für konkave und konvexe Polygone von ganz beliebiger Form und ist in der Lage, jede Linie der Orientierung.
InformationsquelleAutor Lou Franco