Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
Delphi 2007 Professional
|
Re: ist ein Punkt rechts oder links von einer Strecke!?
16. Aug 2005, 00:09
Was du in deiner Berechnung anwendest ist das Vektorprodukt. Das Vektorprodukt zwischen 2 vektoren ist wieder ein Vektor, der senkrecht zu den beiden vorigen steht. Die Frage ist nur, ob nach oben oder untern gerichtet.
Ich vereinfache die Rechnung mal ein bischen. Du hast die Punkte A, B, C. Ich lege A jetzt mal in den Ursprung, und hat somit die, geht leider nicht anders beim Vektorprodukt, die 3-dimensionalen Raumkoordinaten A(0,0,0).
Als Vektor c (klein geschrieben), sei nun der Vektor den du in der Zeichnungdargestellt hast, also von A nch C zeigend. Anlog definiere ich mir einen Vektor b von A nach b zeigend. Die Koordinaten von diesen beiden Vektoren sind nichts anderes als die in deiner Rechnung angegeben, x_ab, y_ab, x_ac und y_ab. Ich finde meins aber übersichlicher.
Wir haben nun also die beiden Vektoren c und b. Die Frage ist, wie sieht der Winkel zwischen c und b aus. Winkel werden immer im Gegenuhrzeigersinn betrachtet. Ist also der Winkel zwischen c und b (von Vektor c ausgehend) kleiner als 180°, so liegt B links von c, ansonsten b. Sieht schwierig aus, aber genau das Vektorprodukt gibt dir im Endeffekt diesen Sachverhalt an. Die z-Komponenten von Vektor c und b sind beide null. Die Vektoren liegen also beide in der gleichen Ebene. Das Vektorprodukt c kreuz b (c X b) gibt also einen Vektor an, der nur eine z-Komponente besitzt. diese ist nun positiv oder eben negativ. Hier mal die Komponentendarstellung des Vektorproduktes, wobei uns wirklich nur die z-Komponente interessiert:
(c X b)_x = c_y*b_z - b_y*c_z
(c X b)_y = c_z*b_x - b_z*c_x
(c X b)_z = c_x*b_y - b_x*c_y =: Z
Ist Z positiv, so ist c X b linksdrehend, d.h. B liegt links
Ist Z negativ, so ist c X b rechtsdrehend, d.h. B liegt rechts..
Die Bedingung ist also wieder die aus deiner Lösung.
Mach dich am besten mal mit dem Vektorprodukt genauer vertraut. Ist hier im forum so schwer genau zu erklären.
|