rechtsseitige Rotation zu linksseitige Rotation



  • Hallo,
    Wie kann ich eine Rotation für das rechtsseitige Koordinatensystem zu einer für das linksseitige Koordinatensystem konvertieren.
    Muss ich da auch nur das Vorzeichen einer Komponente ändern oder 2 Komponenten miteinander vertauschen?



  • Ach ja nochwas:
    Es scheint, dass die Texturkoordinaten auch irgendwie von der Ausrichtung betroffen sind, da diese nicht richtig auf das Model gelegt wird ( zB. Augen auf der Brust).
    Mit OpenGL habe ich solche Probleme nicht.



  • hmm... alle sin(φ) werte in den rotationsmatrizen mit -1 multiplizieren, würd ich mal sagen, wenn du ein koordinatensystem hast, das so etwas wie ein spiegelbild zu deinem ursprünglichen system ist...
    wäre so mein vorschlag... oder nimm dcoh einfach deine rotationsmatrix und multiplizier die ma mit der neuen koordinatensystemmatrix, und schau was dabei rauskommt... das wärn so meine ersten spontanen ideen, muss nicht richtig sein 🙄



  • hö? des verstehe ich nicht wirklich, was haben denn die texturkoordinaten damit zu tun? 😮



  • Danke erstmal für die Antwort.
    Mit dem Vorzeichenwechsel hat es geklappt.

    Das mit den Texturkoordinaten ist mir ein Rätsel, da auch bei Deep Eploration die Texturen nicht richtig angezeigt werden.



  • Musst du vielleicht einfach nur die Textur flippen beim Laden?

    Kannst sie ja einfach mal in Photoshop oder wie auch immer horizontal spiegeln, wenns dann geht, weißt du, dass du deine Laderoutine ändern musst 😉



  • Mag zwar sein, dass es mit der horizontalen spiegelung klappt, so richtig erklären kann ich s mir aber nicht, die texturkoordinaten werden doch von den ganzen vektortransformationen nicht beeinflusst, mit dem vektor kann man machen was man will, wenn dem vertex die obere linke ecke einer textur zugewiesen ist, dann bleibts dabei, egal wo sich der vertex befindet, und mit was für matrizen es verändert wird...

    ...
    😕



  • naja, is es nich so, dass man für texturkoordinaten auch ne extra-matrix setzen kann? Dann muss man die koordinanten ncih ändern, sondern brauch nur die matrix ändern, zB wenn man sich bewegende Wolken machen will. Vielleicht musst du die Matrix auch umdrehn. Welche API verwendest du?



  • Ich benutze Direct3D.

    Mit der vertikalen Spiegelung sieht es korrekt aus ( also v-coord mit -1 multiplizieren).



  • na dann iss jut!



  • Andrey schrieb:

    Mag zwar sein, dass es mit der horizontalen spiegelung klappt, so richtig erklären kann ich s mir aber nicht, die texturkoordinaten werden doch von den ganzen vektortransformationen nicht beeinflusst, mit dem vektor kann man machen was man will, wenn dem vertex die obere linke ecke einer textur zugewiesen ist, dann bleibts dabei, egal wo sich der vertex befindet, und mit was für matrizen es verändert wird...

    ...
    😕

    Nein, ich meine dass es mit dem Bildformat zusammenhängt. BMPs kann man wenn ich mich recht erinnere auf "verkehrt" herum speichern, also die oberste Zeile im Bild sind die letzten Daten in der Datei.
    Mir ist mal mit DevIl passiert, dass ich das Bild zuerst noch flippen muss, weils im Editor anders rum geladen wird. (oder so 🙂 )

    qasdfgh schrieb:

    Mit der vertikalen Spiegelung sieht es korrekt aus ( also v-coord mit -1 multiplizieren).

    v-Koordinate mit -1 multipliziert? Das ist doch dann horizontal wie ich's gesagt hab, oder? 🙂
    An der horizontalen Achse gespiegelt.


Log in to reply