Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 15:17

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Dez 22, 2006 00:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

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


etc.. ganz simpel eigentlich :roll:

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 22, 2006 01:41 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Du hast deine transformationsmatrix da doch sogar schon hingeschrieben:

etwas vereinfacht
X = X -Y
Y = -Y
Z = 0


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 22, 2006 10:01 
Offline
DGL Member
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 22, 2006 23:30 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 08, 2007 14:58 
Offline
DGL Member

Registriert: Sa Jan 06, 2007 16:38
Beiträge: 5
Hi,

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 :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]