Prüfen ob Punkt über oder unter einer Bezierkurve liegt

Neue Frage »

BenJeth Auf diesen Beitrag antworten »
Prüfen ob Punkt über oder unter einer Bezierkurve liegt
Meine Frage:
Hallo zusammen,

ich schreibe zur Zeit an einem Programm mit welchem ich kubische Bezierkurven "händisch" verändere. Heißt ich zeige die beiden Kontrollpunkte sichtbar an. Diese kann man dann mit der Maus verschieben wobei sich die Kurve daran anpasst.
Jetzt mein Problem: Ich muss außerdem nach einer Veränderung der Bezierkurve prüfen ob ein bestimmter Punkt (Referenzwert) auf, unter oder über der Bezierkurve liegt.
Ich habe auch schon eine Idee, allerdings wüsste ich gerne ob es noch eine elegantere/performantere Lösung für mein Problem gibt.

Meine Ideen:
Ich nehme die Formel im Anhang. Und berechne in einer Schleife mit t als Laufvariable die einzelnen Punkte der Bezierkurve. Dabei merke ich mir immer den "alten Punkt" (Ergebnis des letzten Schleifendurchlaufes) und den "neuen Punkt" (Ergebnis des aktuellen Schleifendurchlaufes).
Ich prüfe dann jedes Mal ob der X-Wert meines Referenzwertes gleich einem der beiden Punkte ist oder zwischen den beiden Punkten liegt.
Habe ich so den X-Wert meines Referenzwertes so gut wie möglich angenähert, prüfe ich ob der Y-Wert meines Referenzwertes über, unter oder gleich den Y-Werten meiner beiden Punkte liegt.

Vielen Grüße
und danke schon Mal im vorraus.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »