ich weiß nich wieso, aber ich steh grad total auf dem schlauch.. dabei weiß ich das ich das schon öffters gemacht hab eigentlich, nur weiß grad nichtmal mehr wann/wo
Ich hab ein Objekt mit einer kleinen spitze vorne dran die in +X richtung zeigt wenn das Objekt "nicht rotiert" ist.
Jetzt habe ich einen Richtungsvektor, und möchte das die ObjektSpitze in diese richtung zeigt.
z.B:
Richtungsvektor: (1, 0, 0)
Die Spitze soll in positiive X-Richtung zeigen
Richtungsvektor: (-1, 0, 0)
Die Spitze soll in negative X-Richtung zeigen
Richtungsvektor: (-1, -1, 0)
Die Spitze soll in 45° zwischen negativer X und Y-Richtung zeigen
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Hallo,
ich würde das so machen:
Ich habe ein Ding, das derzeit einen Richtungsvektor (+1/0/0) hat: schaut in die positive X-Richtung
Ich will, dass es in die negative X-Richtung schaut, also Richtungsvektor (-1/0/0).
Ich muss es entweder um die Y-Achse oder um die Z-Achse um 180 Grad drehen, was Dir besser gefällt:
glRotate(180,0,1,0) oder glRotate(180,0,0,1)
Allgemeiner:
1) Errechnen des Rotations-Winkels: Cosinus des Winkels zwschen zwei Vektoren = Skalarprodukt der beiden Einheitsvektoren
2) Errechnen der Rotationsachse: Kreuzprodukt der beiden Vektoren (ich glaube, hier muss man nicht die Einheitsvektoren nehmen, ich bin aber nicht sicher)
Traude
du kannst aus den x,y Werten (hoffe es ist nicht 3D) mit arctan2 in der unit math den Winkel berechnen. Den Spezialfall y=0 solltest du allerdings noch selbst behandeln, da er afaik nicht unterstützt wird.
hatte vor kurzem ein ähnliches Problem...habs so gelöst:
gilt für den fall, dass dein z-vektor auf das objekt zeigen soll
1. neuer z-vektor ist dein richtungsvektor
2 x-vektor = kreuzprodukt aus z-vektor und up-vektor( wahrscheinlich y richtung und 010 zum Anfang)
3. richtigen up-vektor aus x-vektor und z-vektor bestimmen (Kreuzprodukt)
4 rotationsmatrix aufstellen = ( x-vektor, y-vektor, z-vektor ), vorher vektoren normieren
5 mit transformationsmatrix des objekts multiplizieren
6 freuen
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.