0 Daumen
1,5k 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.

Avatar 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{aligned} A + r \cdot u + s \cdot u &= P \\ r \cdot u + s \cdot u &= P-A\end{aligned}$$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

Avatar von 48 k

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

Sowas sollte eventuell 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 eventuell 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  

Avatar von 21 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community