0 Daumen
97 Aufrufe

Hallo, ich habe einen Punkt P und das Viereck ABCD und möchte überprüfen, ob sich P innerhalb des Vierecks oder außerhalb befindet. Das Ganze ist im zweidimensionalen Raum.

von

Um was für ein Viereck handelt es sich?

Ein beliebiges Viereck, keine bestimmte geometrische Form.

2 Antworten

0 Daumen

Hallo,

teile das Viereck zunächst in zwei Dreiecke und prüfe anschließend, ob sich der Punkt \(P\) in einem der beiden Dreiecke befindet. Für die Prüfung im Dreieck \(\triangle ABC\) bestimme die Richtungsvektoren \(u=\vec{AB}\) und \(v=\vec{AC}\). Diese spannen zusammen mit \(A\) ein (nicht kartesisches) Koordinatensystem auf:$$k: \quad x = A + r \cdot u + s \cdot u $$mit den freien Parametern \(r\) und \(s\). Löse das Gleichungssystem $$\begin{align} A + r \cdot u + s \cdot u &= P \\ r \cdot u + s \cdot u &= P-A\end{align}$$nach \(r\) und \(s\). Wenn \(r \ge 0 \land s \ge 0 \land r+s \le 1\), dann befindet sich \(P\) innerhalb von \(\triangle ABC\).

Gruß Werner

von 23 k

Beachte das es evtl. auch konkave und überschlagene Vierecke geben kann.

Sowas sollte evtl. vorher abgefangen werden.

Ich hatte mal ein Geometrieprogramm für den C64 geschrieben habe das aber Aufgrund der etwas trägen Geschwindigkeit (von BASIC) nicht weiter verfolgt :)

Beachte das es evtl. auch konkave und überschlagene Vierecke geben kann.

ein Grund mehr, eine Datenbasis auf Dreiecke zu definieren, statt auf beliebige Vierecke.

0 Daumen

Hm,

von einem Punkt innerhalb ABCD gibt es in EINER Richtung genau 2 Schnittpunkte mit den Rand bildenden Geraden z.B. x+Richtung

HUB.gif  

von 9,1 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community