Rotation parallel um X und Y Achse



  • Ich habe eine Ebene welche ich zunächst um die X und dann um die Y Achse jeweils um Pi rotieren lasse. Das Ergebnis welches ich bekomme ist gut und richtig!

    Wenn diese Rotationen nun aber als eine Animation darstellen will (d.h nicht nacheinander )weiss ich nicht wie das gehen soll.
    Wenn ich alternierend kleine rotationen erst um x und danach um y mache bekomme ich im Endeffekt eine Rotation um die Einheitsgerade(d.h. die Winkelhalbierende zwischen X und Y Achse).
    Wie kann ich die beiden nacheinander ausgeführten Rotationen durch eine Ersetzen? bzw die einzelnen so kombinieren das mein erwünschtes Ergebnis herauskommt?

    Bin wie immer für jede Anregung dankbar und stehe für detailfragen zur verfügung.

    muli



  • du könntest die zeit seit dem letzten frame stoppen und hast dann die anzahl der sekunden die ein frame benötigt.
    Du zählst wie mit einer Uhr die bekommenen Zeiten aufwärts.
    Jetzt hast du eine Uhr die dir sagt wie viele sekunden deine szene schon läuft.

    Jetzt setzt du bei der Rotationsberechnung nicht PI ein sondern diese Uhrzeit.
    Schon hast du eine ständige Rotation!



  • Ok danke, aber das ist mir leider schon klar gewesen.
    Hab mich auch nicht so ganz eindeutig ausgedrückt 😉 Ich lege eine Winkelgescwindigkeit fest und berechne den Winkel um welchen sich in dem aktuellen Frame bewegt werden muss natürlich aus der vergangenen Zeit.

    Das Problem ist das folgende:

    Wenn ich erst eine bestimmte anzahle Frames verwende um eine Rotation um die X-Achse zu machen, dann dreht sich die Ebene. Nun rotiere ich danach um die Y-Achse.
    Dies gibt mir eine rotierte Ebene die anders im Raum liegt als wenn ich die Rotationen gleichzeitig in einem Frame mache. (rotation um die Einheitsgerade).
    Es ist ja so das diese Rotationen im R^3 nicht kommutativ und assoziativ ist.

    Also die Frage ist die Folgende: Wie bekomme ich EINE Bewegung hin die mir das Ergebnis der erstgenannten nacheinander ausgeführten Rotationen liefert. Allerdings in einer Bewegung.
    Das müsste sich doch sicherlich irgendwie aus den Achsen rotationen Simulieren lassen?
    Also wenn jemand was weiss. immer zu....

    muli



  • Ähm, beide Rotationsmatrizen multiplizieren ?

    Was für API benutzt du?



  • Also nochmal danke für dein Bemühen!
    Aber auch das mache ich.

    Mittlerweile habe ich das Problem gelöst:
    Es ist ein eher mathematisches Problem und war vielleicht im falschen Forum platziert.

    Für alle Interessierten mit ähnlichen Problemen:

    Rotationen sind im R^3 weder kommutativ noch assoziativ Daraus ergibt sich folgende Problematik:
    dX(α) * dY(α) * dx(β) * dy(β)

    dx(α+β) * dy(α+β)

    Man braucht für mein Problem nun eine neue Matrix (kann man aber recht einfach aus den "normalen" Achsenrotationen berechnen oder bezieht die Rotationen immer auf die ursprüngliche Lage im Raum.

    Trotzdem danke für deine Hilfe

    muli


Anmelden zum Antworten