Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Also ich würde dem Problem mit etwas Vektorgeometrie zu leibe rücken.
zu erst teilt man das Polygon in Dreiecke und dann kann man überprüfen, ob der Punkt in einem der Dreiecke ist.
Das kann man mit der Skizze ganz gut bewerkstelligen:
Anhang 22116
a *n +b *m = c
der Vektor c zeigt auf deinen Punkt. Dieser liegt zwischen a und b, wenn n + m <= 1 aber m und n positiv sind.
Ich hoffe du verstehst was ich versuche zu sagen. Du solltest alles noch mal durchdenken, aber so sollte das gehen.
Gruß
ElchiMtr
Liste der Anhänge anzeigen (Anzahl: 1)
Moin.
So, hatte in letzter Zeit leider nicht die Zeit hier was zu machen. Jetzt gehts wieder weiter.
Also das mit der Vektorgeometrie erscheint mir doch etwas aufwändiger als mein bisheriger Stand. V.a.: Wie viele dieser Teildreiecke hätte z.B. ein Polygon mit 10 Eckpunkten? Bzw. wie unterteil ich dann das Polygon am geschicktesten?
Edit: Oder wird nicht das Polygon selbst in Dreiecke unterteilt sondern mit Hilfe des zu prüfenden Punktes? Wie in Lösung 2 in der PDF?
Das mit dem in der PDF beschriebenen Vorgang mach ich ja quasi schon, nur dass mein "Strahl" so liegt, dass er durch den zu prüfenden Punkt und einen Punkt geht, der sicher ausserhalb des Polygons liegt.
Einige Sonderfälle hab ich schon durch, allerdings bleibt noch einer, der doch etwas kniffliger ist. Nämlich genau der auf S. 159 (in der PDF S, 14/38), die unteren rechten beiden Abbildungen.
(Im Beitrag hier nochmal als Grafik angehängt)
Wenn die "Referenzlinie" nun durch einen Eckpunkt geht: Wie krieg ich raus, ob ich danach noch innerhalb oder ausserhalb des Polygons bin?
mfG
Nachtrag: Die Lösung 2 scheint nach was brauchbarem auszusehen. Nur Winkelfunktionen auf nem µC dürften reine Zeit/Speicherfresser sein.