2016-06-26 22 views
1

Ich muss zwei Vektoren in 3D Raum finden, a und b wie a x b = c wo c bekannt ist. Ich weiß auch, eine Einschränkung, lassen Sie uns sagen, dass a_y = 0
Also habe ich für diese 2 Vektoren auf (c_x)x+(c_y)y+(c_z)z=0 Ebene suchen, für Vektor a ich es (c_x)x+(c_z)z=0
für Vektor vereinfachen b da es senkrecht ist zu a und es muss sein im Schnittpunkt von (a_x)x+(a_z)z=0 Ebene und (c_x)x+(c_y)y+(c_z)z=0 Ebene.
Nach dem Hinzufügen der Kreuzproduktgleichung, die ich habe 4 Gleichungen und 5 Unbekannten (a_x,a_z,b_x,b_y,b_z). Wie kann ich das lösen?
Vielen Dank im Voraus.Finden von 2 Vektoren, die ihr Kreuzprodukt und eine Beschränkung kennen

EDIT: Vielleicht zu erklären, wofür ich diese brauche, wird irgendwie helfen.
Ich habe Kamera Richtung Vektor und ich brauche Vektor, der auf der rechten Seite des Bildschirms zeigt, und zweite, die nach oben zeigt.

+1

eine Annahme Hinzufügen auf der le ngth von a (wie a_x^2 + a_z^2 = 1) sollte es tun. –

+0

@JohnMoeller Ich stimme zu ... Ich basierte meine Antwort darauf und mathematische Eigenschaften der Vektoren ... – Spektre

Antwort

0
  1. Problemdefinition

    A,B=? 
    C=! 
    Ay=! 
    A x B = C 
    

    verwickelt Eigenschaften von Punkt- und Kreuzprodukt aufgrund Rechtwinkligkeit:

    (A.C) = 0 
    (B.C) = 0 
    |A|.|B| = |C| 
    
  2. length auf jede bekannte Konstante für einen der Vektoren eingestellt wie 1

    |A|=1 
    |B|=|C| 
    

    Dies wird auch durch John Moeller in seinem Kommentar

  3. Compute A

    So Länge von |A|=1 und Skalarprodukt (A.C)=0 erwähnt, da sie senkrecht so sind:

    Ax^2 + Ay^2 + Az^2 = 1 
        Ax.Cx + Ay.Cy + Az.Cz = 0 
    

    Dies ist ein System von 2 Gleichungen und 2 Unbekannten so lösen Sie es. Es führt zu 2 Lösungen wählte eine, die nicht Null ist.

  4. Compute B

    Wir wissen, dass B senkrecht zu C so (B.C)=0 so die Constraints zusammen:

    A x B = C 
    Bx.Cx + By.Cy + Bz.Cz = 0 
    Bx^2 + By^2 + Bz^2 = Cx^2 + Cy^2 + Cz^2 
    

    Wenn Sie das Kreuzprodukt erweitern Sie 5 Gleichungen und 3 Unbekannten erhalten . So lösen Sie das System (wählen Sie eine 3 der nicht trivialen Gleichungen).

PS Es scheint dies ist Ihre NEH Matrix Analogie

So zu erzeugen, wenn das der Fall ist alle drei Vektoren senkrecht zueinander, während man Punkte auf bestimmte Richtung (Up oder North .. .) und die Größen sind normalerweise 1 für alle Vektoren.

So D Vektor annehmen lassen ist das bekannte Ausrichtungsvektor:

A'= C x D 
B = C x A' 
A = C x B 

Sie können die Reihenfolge der Operanden ändern Sie die Anweisungen, die Sie benötigen, zu erhalten. Wenn die nicht bekannt ist, dann können Sie (1,0,0) oder (0,1,0) oder (0,0,1) stattdessen wählen Sie eine, die nicht parallel zu C ... oder haben größte (C.D). Werfen Sie auch einen Blick auf:

[Notizen]

Skalarprodukt: (A.B)=Ax.Bx+Ay.By+Az.Cz
Kreuzprodukt: A x B
Länge: |A| = sqrt (Ax^2 + Ay^2 + Az^2)