Suchergebnisse
Suchergebnisse 1-5 von insgesamt 5.
Zitat von »dot« Es macht aber einen riesen Unterschied, ob du einmal nach rechts, dann nach oben und dann wieder nach rechts (das was du, so wie ich dich verstanden hab, haben willst) oder zweimal nach rechts und dann nach oben rotierst (das was du mit D3DXMatrixRotationYawPitchRoll() effektiv machst)... Hach natürlich hast du recht, vielen Dank. Problem ist folgendermassen gelöst: C-/C++-Quelltext 1 2 3 4 5 6 7 D3DXMATRIX m_rotateX, m_rotateY, m_rotateZ; D3DXMatrixRotationX(&m_rotateX, x); D3D...
Zitat von »dot« Zitat von »jjwayne« Wenn ich für jede Rotation eine neue Rotationsmatrize erstelle und diese draufmultipliziere, wird das an meinem Problem nichts ändern, da die Rotationen immer noch nacheinander gemacht werden. Doch, da sie in der richtigen Reihenfolge gemacht werden... evtl. habe ich etwas falsches im Kopf. Aber meiner Meinung nach macht es keinen Unterscheid, wenn ich zb. die rotation "2x rechts, 1x hoch" mit D3DXMatrixRotationYawPitchRoll(&m_rotate, '180°', 0, '90°') löse o...
Zitat von »dot« Ich denk, die Lösung für dein Problem ist, nicht D3DXMatrixRotationYawPitchRoll() zu verwenden und die Winkel zu addieren, sondern eben für jede Rotation eine eigene Matrix zu bauen und dann auf der richtigen Seite auf die Gesamtmatrix draufzumultiplizieren. Wenn ich für jede Rotation eine neue Rotationsmatrize erstelle und diese draufmultipliziere, wird das an meinem Problem nichts ändern, da die Rotationen immer noch nacheinander gemacht werden. Hat mir jmd. eine kleine Erklär...
Zitat von »LInsoDeTeh« Naja, für mich sieht das eher so aus, als wäre das dem Code zuzuschreiben, denn du übergibst die Rotationen aller drei Achsen ja jedes Mal neu. Oder setzt du die m_rotation Variablen wieder auf 0 zurück? Ich denke, das += bricht dir hier das Genick. Wenn du eine Rotation um die Y-Achse willst, versuch's doch z.B. mal mit D3DXMatrixRotationYawPitchRoll( &m_rotate, m_rotationY, 0, 0 ); Dass += habe ich, um immer 90° zur bestehenden Rotation hinzuzufügen. Also 1x rotieren = ...
Hi Leute Wie der Titel bereits sagt, möchte ich ein Objekt in 90° Schritten um fixe Achsen (X,Y,Z) rotieren. Wenn ich folgenden Code verwende, C-/C++-Quelltext 1 2 3 4 m_rotationX += x; m_rotationY += y; m_rotationZ += z; D3DXMatrixRotationYawPitchRoll( &m_rotate, m_rotationY, m_rotationX, m_rotationZ ); drehen sich die Achsen mit dem Objekt mit. D.h. dass die Y rotation abhängig der X rotation ist. Dies ist mir soweit auch klar, da die rotationsmatrizen der Reihe nach multipliziert werden. Was ...