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

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

1

24.07.2009, 15:56

Grafik drehen

Hi eine frage:
Wie kann ich die Coord. heraus finden wenn ich die Grafik(von der mitte aus)
drehen will, um die x,y und/oder z Achse.
Besser gesagt die 4 Vertexpunkte von der 2D Grafik.

2

24.07.2009, 18:10

wilst du jetz eine Rastergrafik drehen, oder ein Vertexquad (die vllt zufälligerweise ne Rastergrafik als Textur hat)?

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

3

24.07.2009, 18:34

Jop den Vertexquadrat

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

24.07.2009, 18:55

*psst*:
http://de.wikipedia.org/wiki/Sinus_und_Kosinus#Definition_mit_Einheitskreis

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

5

24.07.2009, 19:42

Ja hab ich auch schon gelesen aber ich verstehe den wiki kram nicht so.
(Und ja ich hatte Sinus und Kosinus in der schule aber vll nicht so effektiv)
Und noch verwirdender is es ja wenn ich es noch um die X oder Y Achse drehen soll.

Gotbread

Alter Hase

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

6

25.07.2009, 22:12

wenn du nur eine 2D grafik rotieren willst (Z-achse)
geht das ganz einfach:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
const float angle = 45 / 180 * 3.14159265358979323f; // 45°

const float sine = sinf(angle); // vorberechnen

const float cose = cosf(angle); // um zeit zu sparen


for (unsigned i = 0; i < 4; ++i) // alle 4 vertices

{
    float x = quad[i].x * cose - quad[i].y * sine;
    float y = quad[i].x * sine + quad[i].y * cose;
    quad[i].x = x;
    quad[i].y = y;
}


(hoffe hab jetzt keinen fehler gemacht)

für rotationen um andere achsen müsstest du mal googeln oder in davids
buch gucken. da wird das auch beschrieben (glaubich)
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

7

25.07.2009, 22:18

Wenn du nen Vertexquad benutzt, warum benutzt du dann nicht die eingebauten Transformationsfunktionen von OpenGL bzw DirectX?

Werbeanzeige