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

1

27.10.2005, 20:04

RotateView

hi ho ihr da draußen,

ich habe da ein verständnisproblem...

und zwar ist das ein ausschnitt aus einem tutorial und die funktion ist für die rotation der sicht aus der 1st persion view zuständig:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CVector3 vNewView;

    CVector3 vView = m_vView - m_vPosition;

    float Cos = (float)cos(Angle);
    float Sin = (float)sin(Angle);

    vNewView.x =  (Cos + (1 - Cos) * x * x)         * vView.x;
    vNewView.x += ((1 - Cos) * x * y - z * Sin)     * vView.y;
    vNewView.x += ((1 - Cos) * x * z + y * Sin)     * vView.z;

    vNewView.y =  ((1 - Cos) * x * y + z * Sin)     * vView.x;
    vNewView.y += (Cos + (1 - Cos) * y * y)         * vView.y;
    vNewView.y += ((1 - Cos) * y * z - x * Sin)     * vView.z;

    vNewView.z =  ((1 - Cos) * x * z - y * Sin)     * vView.x;
    vNewView.z += ((1 - Cos) * y * z - x * Sin)     * vView.y;
    vNewView.z += (Cos + (1 - Cos) * z * z)         * vView.z;


wie david uns das schön beibebracht hat muss man dazu ja erst rotieren und dann transformieren. allerdings hab ich keine ahnung wie die berechnung da zustande kommt denn wenn ich mir die rotationsmatrizen für die achsen anschaue kommt da was ganz anderes raus ???