Hallo alle zusammen,
ich hätte da ein Problem mit Vektoren. Da ich damit nicht so ganz fit bin, komme ich einfach nicht auf eine Lösung 
Ich habe in einer Grafik eine Gerade (z.b.: von 0:42 zu 39:0) und Punkte (z.b: 26:28, 27:29, 22:28), jetzt müsste ich überprüfen, ob sich dieser Punkt links oder rechts von der Geraden befindet.
Kann mir jemand eine Lösung zu dem Problem geben?
Auch wenn ich es für ein Programm benötige, denke ich die Frage ist in hier am besten aufgehoben und gleich vorweg, nein, ich brauche es nicht fürs Studium 
LG Lucifer
Hallo alle zusammen,
Hi Licifer !
Ich habe in einer Grafik eine Gerade (z.b.: von 0:42 zu 39:0)
und Punkte (z.b: 26:28, 27:29, 22:28), jetzt müsste ich
überprüfen, ob sich dieser Punkt links oder rechts von der
Geraden befindet.
Es ist geschickter zu sagen, dass sich die Punkte unter- oder oberhalb der Geraden befinden anstatt rechts oder links davon. Oberhalb entspricht aber links und unterhalb rechts.
Zuerst stellst du die Geradendleichung auf, im Zweidimensionalen musst du dafür die Steigung m und den Y-Achsenabschnitt c berechnen.
Ich erklär das hier mal allgemein, dann kannst du auch Geraden durch zwei andere Punkte berechnen. Wenn du zwei Punkte A(xA|yA) und B(xB|yB) gegeben hast (in deinem Beispiel A(0|42) und B(39|0)), dann ist die Steigung
m=\frac{y_B-y_A}{x_B-x_A}
Der Y-Achsenabschnitt ist c=yA-mxA oder c=yB-mxB, da kommt beides mal dasselbe raus.
In deinem Beispiel müsste m=-42/39=-14/13 und c=42 rauskommen.
Wenn du jetzt die Position eines Punktes P(xP|yP) relativ zur Geraden prüfen willst, setzt du den x-Wert des Punktes in die Geradengleichung ein.
y=mx_P+c
Wenn das y was da rauskommt größer ist als yP, dann liegt P unterhalb (rechts) der Geraden, ist es kleiner, liegt P oberhalb (links) der Geraden. Wenn genau yP rauskommt liegt P auf der Geraden.
In einem Computerprogramm solltest du noch eine Abfrage einbauen ob xA≈xB, d.h. ob die beiden Punkte fast (oder sogar genau) übereinander liegen, denn dann liegt der Nenner bei der Berechnung von m sehr nahe bei 0 und dein Computer könnte NaN oder sowas als Ergebnis bekommen. So eine Abfrage sieht meistens folgendermaßen aus: if(|xB-xA|-8.
Viel Spaß beim Programmieren !
hendrik
Hallo hendrik,
danke vielmals für deine Antwort, bin zwar erst jetzt dazu gekommen es auszuprobieren, funktioniert dafür aber hervorragend.
Danke&LG