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

28.01.2011, 16:41

2D Vector rotation

Hallo zusammen!,

ich hab vier vertices die einen Würfel bilden. Nach dem rotieren sieht dan mein Würfel so aus:



C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    float cube_pos_x = 200.0f;
    float cube_pos_y = 200.0f;
    float cube_x = 200.0f;
    float cube_y = 200.0f;
    float cube_rotation_center_x = cube_pos_x + cube_x / 2;
    float cube_rotation_center_y = cube_pos_y + cube_y / 2;
    float cube_rotation = 30.0f;

    D3DXVECTOR2 cube_vertices[4] = {
        D3DXVECTOR2(cube_pos_x, cube_pos_y),                    // LeftTop
        D3DXVECTOR2(cube_pos_x + cube_x, cube_pos_y),           // RightTop
        D3DXVECTOR2(cube_pos_x + cube_x, cube_pos_y + cube_y),  // RightBottom
        D3DXVECTOR2(cube_pos_x, cube_pos_y + cube_y)            // LeftBottom
    };

    D3DXMATRIX matrix;
    D3DXMatrixTransformation2D(
        &matrix,
        0,
        0,
        0,
        &D3DXVECTOR2(cube_rotation_center_x, cube_rotation_center_y),
        cube_rotation,
        0);

    for(int i = 0; i < 3; i++)
    {
        D3DXVECTOR4 tmp;
        D3DXVec2Transform(&tmp, &cube_vertices[i], &matrix);
        cube_vertices[i].x = tmp.x;
        cube_vertices[i].y = tmp.y;
    }


Was mache ich falsch? -.-
Danke!

-mfg JasonB

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

28.01.2011, 16:48

schon im ersten satz steht ein fehler. ^^
du meinst sicher ein quadrat.

kann es sein dass du in zeile 26 eigentlich for(int i = 0; i < 4; i++) schreiben wolltest?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

3

28.01.2011, 16:54

maaan bin ich dumm! :lol:
danke jetzt gehts!

Werbeanzeige