Wie kann man feststellen, ob ein Punkt in einem Bereich ist?

Jangler13  07.12.2021, 18:51

Ist bekannt, wie die Eckpunkte verbunden sind?

MaxMustermanOk 
Beitragsersteller
 07.12.2021, 19:02

ja ist bekannt

2 Antworten

Von Experten Jangler13 und tunik123 bestätigt

Das lässt sich m.W. nicht mehr allgemein mit einer einfachen Gleichung prüfen.
Es gibt verschiedene algorithmische Ansätze. Einer davon wäre, dass man vom Punkt aus beginnend eine gerade Strecke konstruiert, deren Ende aussserhalb des Polygons liegen muss. Dann zählt man, wieviele Schnittpunkte diese Strecke mit den Polygonkanten hat. Ist die Anzahl ungerade, weiss man, dass der Punkt im Polygon liegen muss - vereinfacht gesagt, denn es gibt noch einige Ausnahmesituationen, die gesondert betrachtet werden müssen.

Hier mehr Infos dazu:

https://en.wikipedia.org/wiki/Point_in_polygon

Mein Vorschlag:

Man zieht (in Gedanken) eine Linie vom zu testenden Punkt waagerecht nach rechts (x = +Unendlich).

Dann zählt man die Schnittpunkte mit den Kanten der Polygone. (Vorsicht wenn die Linie durch eine Ecke geht, die darf man nicht doppelt zählen.)

Ist die Anzahl gerade, dann liegt der Punkt außerhalb, ist sie ungerade, liegt er innerhalb.