Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-5 von insgesamt 5.

Werbeanzeige

27.08.2012, 16:05

Forenbeitrag von: »jjwayne«

[DirectX9] Rotation um 'fixe' Achsen

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...

27.08.2012, 15:32

Forenbeitrag von: »jjwayne«

[DirectX9] Rotation um 'fixe' Achsen

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...

27.08.2012, 14:55

Forenbeitrag von: »jjwayne«

[DirectX9] Rotation um 'fixe' Achsen

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...

27.08.2012, 14:15

Forenbeitrag von: »jjwayne«

[DirectX9] Rotation um 'fixe' Achsen

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 = ...

27.08.2012, 13:38

Forenbeitrag von: »jjwayne«

[DirectX9] Rotation um 'fixe' Achsen

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 ...

Werbeanzeige