Rotationsdaten nach At- und Up-Vektor



  • Michael E. schrieb:

    Wie führst du deine ursprünglichen Rotationen aus? Sind das Eulerwinkel?

    Jop, sind Eulersche Winkel.


  • Mod

    EOutOfResources schrieb:

    Michael E. schrieb:

    Wie führst du deine ursprünglichen Rotationen aus? Sind das Eulerwinkel?

    Jop, sind Eulersche Winkel.

    Ich habe in meinen ersten Beitrag etwas reineditiert, während du schon geantwortet hast, das dir vermutlich hilft.



  • SeppJ schrieb:

    Und was war jetzt deine Frage?

    Ich verstehe den Satz nicht vollständig und weiss nicht, wie ich aus meinen Daten die gewünschten Daten ausrechnen kann.



  • SeppJ schrieb:

    Ich habe in meinen ersten Beitrag etwas reineditiert, während du schon geantwortet hast, das dir vermutlich hilft.

    Ja, ich habe es erst jetzt gesehen...
    Also die Differenz der Input-Winkel zu "Nach-Vorne" beim At-Vektor und die Differenz der Input-Winkel zu "Nach-Oben" beim Up-Vektor (habe ich dich korrekt verstanden)?



  • EOutOfResources schrieb:

    SeppJ schrieb:

    Und was war jetzt deine Frage?

    Ich verstehe den Satz nicht vollständig

    Du hast den at- und den up-Vektor. Der at-Vektor definiert die Richtung "vorne". die zum at-Vektor orthogonale Komponente des up-Vektors definiert die Richtung "oben".



  • Michael E. schrieb:

    Du hast den at- und den up-Vektor. Der at-Vektor definiert die Richtung "vorne".

    Alles klar!

    Michael E. schrieb:

    die zum at-Vektor orthogonale Komponente des up-Vektors definiert die Richtung "oben".

    Was ist "die zum at-Vektor orthogonale Komponente des up-Vektors"?


  • Mod

    EOutOfResources schrieb:

    Also die Differenz der Input-Winkel zu "Nach-Vorne" beim At-Vektor und die Differenz der Input-Winkel zu "Nach-Oben" beim Up-Vektor (habe ich dich korrekt verstanden)?

    Ich bin nicht ganz sicher, ob du richtig verstanden hast. Deine Rotationswinkel geben dir an, wie dein Listener im Raum ausgerichtet ist. Mal angenommen du guckst bei 0 Rotation in Richtung x mit z oben (eine übliche Konvention). Dann wendest du die Rotationsmatrix die du aus den Eulerwinkeln bekommen kannst aus (1,0,0) und (0,0,1) an und bekommst dein at und up. Da wegen der Nullen eine Menge Terme wegfallen werden, kann man das auch vorher mal allgemein vereinfachen und erhält dann gewiss einen nicht zu langen Ausdruck für at und up in direkter Abhängigkeit von deinen Eulerwinkeln.



  • Du kannst den up-Vektor unterteilen in zwei Komponenten: Die eine Komponente zeigt parallel zum at-Vektor, die andere Komponente steht senkrecht dazu. Zeichne dir einfach mal zwei Pfeile auf ein Blatt Papier. Aus dem up-Pfeil machst du ein rechtwinkliges Dreieck, sodass eine Kathete parallel zum at-Pfeil ist:

    .
             /|
    up-     / |
    Vektor /  |
          /   |
         /    | senkrecht
        /     |
       /      |
      /       |
     /        |
    .---------.
      parallel                  -------x   at-Vektor
    


  • So verstehe ich es. Ist das korrekt?

    Sorry wenn ich mich ein wenig dumm anstelle...

    EDIT:
    At = Die Normale aus den drei Winkeln ausrechnen
    Up = At um (-0.5 * Π) auf der X-Achse rotieren



  • Was meinst du mit "At-Vektor, kann ich wie Normale ausrechnen"? Und wer ist "er" bei "Hier guckt er hin"?



  • Michael E. schrieb:

    Was meinst du mit "At-Vektor, kann ich wie Normale ausrechnen"?

    Soweit ich das verstanden habe, zeigt der At-Vektor dort hin, wo der Listener hinschaut. Und da ich die drei Rotationswinkel vom Listener kenne, kann ich den At-Vektor ähnlich wie eine Normale ausrechnen.

    Michael E. schrieb:

    Und wer ist "er" bei "Hier guckt er hin"?

    Der Listener.



  • EOutOfResources schrieb:

    Michael E. schrieb:

    Was meinst du mit "At-Vektor, kann ich wie Normale ausrechnen"?

    Soweit ich das verstanden habe, zeigt der At-Vektor dort hin, wo der Listener hinschaut. Und da ich die drei Rotationswinkel vom Listener kenne, kann ich den At-Vektor ähnlich wie eine Normale ausrechnen.

    Ich weiß nicht, wo da die Normale herkommen soll (Normale von was überhaupt?). Führ doch einfach die Rotationen auf dem alten at-Vektor aus.


Anmelden zum Antworten