Ich versuche, eine Formel zu extrahieren Vektor u
abzuleiten.Algorithmus, um einen Vektor parallel zu einer Ebene und senkrecht zu einem anderen Vektor zu finden
ich einige erste Daten gegeben:
- Flugzeug
F
mit dem Verfahren seinen normalenn = F->normal()
zu extrahieren. - Vektor
c
, die nicht innerhalb der EbeneF
liegt und durch einen PunktE
geht, der auch nicht innerhalb der Ebene liegtF
.
Und einige Constraints zu verwenden:
- der gewünschte Vektor
u
ist senkrecht zu dem Vektorc
. - Vektor
u
ist auch senkrecht zu einigen Vektorr
, die nicht angegeben ist. Der Vektorr
ist parallel zur EbeneF
und auch senkrecht zum Vektorc
. Daher können wir sagen, dass die Vektorenc
,r
undu
orthogonal sind.
die *
als Skalarprodukt bezeichnen lassen und ^
Operator Kreuzprodukt zwischen zwei 3D-Vektoren.
Die Berechnung des Vektors u
ist einfach mit Kreuzprodukt: vec3 u = c^r
. Also, meine ganze Aufgabe ist auf eingegrenzt, wie man den Vektor r
findet, der parallel zu einer gegebenen Ebene F
und gleichzeitig senkrecht zu dem gegebenen Vektor c
ist.
Da wir wissen, dass r
parallel zu F
ist, können wir das normale und das Punktprodukt des Planes verwenden: n*r = 0
. Da r
unbekannt ist, kann eine unendliche Anzahl von Zeilen die oben erwähnte Gleichung erfüllen. So können wir auch die Bedingung verwenden, dass r
senkrecht zu c
: r*c = 0
ist.
Zusammenfassend gibt es zwei Punktprodukt Gleichungen, die uns den Vektor r
zu finden helfen sollen:
r*c = 0;
r*n = 0;
Aber ich habe harte Zeit, um herauszufinden, wie man den Vektor erhalten r
Die Koordinaten lieferten die beiden Gleichungen algorithmisch. Angenommen und wir wollen x
, y
und z
finden; es scheint nur aus zwei Gleichungen nicht möglich:
x*c.x + y*c.y + z*c.z = 0;
x*n.x + y*n.y + z*n.z = 0;
Ich fühle mich wie ich etwas fehlte, zum Beispiel, ich brauche eine dritte constrain. Wird noch etwas benötigt, um x
, y
und z
zu extrahieren? Oder habe ich einen Fehler in meiner Logik?
mit Ihrer Notation: 'r = c^n' – coproc
Da r parallel zu F ist, ist es orthogonal zu n. Man sucht also nach einem Vektor senkrecht zu n und c, der mit dem Kreuzprodukt n^c gefunden wird. –