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!

Werbeanzeige

SilentDragon

Alter Hase

  • »SilentDragon« ist der Autor dieses Themas

Beiträge: 530

Wohnort: Köln

Beruf: Student

  • Private Nachricht senden

1

04.03.2010, 14:01

3D-Rotation

Hallo zusammen,

ich habe wieder Probleme bei der Rotation...

Und zwar geht es mir um die Richtung der Rotation. Möchte ich ein Objekt um die Y-Achse um -20° Rotieren, so Zeigt mir Blender für die Verschiebung eines Punktes von (1,5 0,6 2) den neuen Punkt bei (0,725 0,6 2,392) an. Rotiere ich den Punkt um 20° so gibt er mir folgende Werte raus (2,094 0,6 1,366).

Rechne ich diese Rotation selber aus komme ich bei Rotation um 20° auf folgende Werte (0,725 0,6 2,392) und bei einer Rotation um -20° auf (2,093 0,6 1,366).

also exakt die anderen Werte ?!

Bei der Rotation um die X-Achse ist aber alles normal oO

könnte mir das wer erlären ? ^^

danke im voraus

SilentDragon
...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

04.03.2010, 14:23

Wie berechnest du denn die Werte?

P.S.: Blender hat übrigens recht!

SilentDragon

Alter Hase

  • »SilentDragon« ist der Autor dieses Themas

Beiträge: 530

Wohnort: Köln

Beruf: Student

  • Private Nachricht senden

3

04.03.2010, 14:31

mit der Rotationsmatrix aus dem Buch "3D-Computergrafik":

(cos(alpha) 0 sin(alpha))
(0..............1....0...........)
(-sin(alpha) 0 cos(alpha))

und habe eben gesehen das dort auch steht das es noch wichtig ist ob ein Objekt im Uhrzeigersinn gedreht wird oder gegen den Uhrzeigersinn :shock:

gibt es also 6-Grundrotationsmatrizen ? oO
...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

04.03.2010, 14:41

Mit dieser Matrix bekommst du:

Quellcode

1
2
3
4
5
| 0.93..  0  -0.34..  |   
| 0       1   0      | * [1.5, 0.6, 2]^T = ..
| 0.34..  0    0.93.. |    

..  [0.93..*1.5 - 0.34.. * 2, 0.6, 0.34..*1.5 + 0.93..*2]^T = [0.725.., 0.6, 2.392..]^T


Das was Blender auch sagt...

Zitat


gibt es also 6-Grundrotationsmatrizen ? oO


Wie mans nimmt. In dem meissten Büchern werden die Rotationsmatrizen gezeigt die mathematisch positiv (CCW) um die Achsen der Standardbasis (übliche kartesische Koordinatenachsen) rotieren. Jede dieser Matrizen hat eine Inverse (in dem Fall einfach transponiert) die mathematisch negativ (CW) um die selbe Achse rotiert.

Also: M(a) = M(-a)^T, wenn M(a) die Rotationsmatrix ist die um eine Achse der Standardbasis mit dem Winkel A rotiert.

Werbeanzeige