gluLookAt und um z Achse drehen und ein paar andere Fragen(OpenGL)



  • Also ich hab nen Flugzeug, das hat nen Richtungsvektor und soll sich um nen bestimmten Winkel um die x und z-Achse drehen (es bewegt sich in z richtung).
    Jetzt hab ich ein paar Fragen dazu:

    1. Wenns nicht zu viel Mühe macht, wärs gut, wenn mir jemand gerade die Formeln für die Vektor rotation geben könnte (zusätzlich y Achse schadet auch nicht)... Ich könnte sie wahrscheinlich irgendwann auch sonstwo im Web finden, aber wär halt trotzdem praktischer.

    2. Die Kamera wird mit gluLookAt gemacht... view ist das Flugzeug und bei der Position hab ich mir gedacht, dass ich einfach nur den Richtungsvektor des Flugzeuges umdrehe und etwas verlänger. Oder gibts da bessere Lösungen?

    3. Da das Flugzeug sich um die Z-achse drehen soll, wär es ganz gut, wenn die Kamera da mit gehen würde. Ich weiß jetzt nur, dass das irgendwas mit dem up-vektor zu tun hat. Aber ich weiß nicht genau, wie das geht. Wär also ganz nett, wenn mir jemand helfen könnte.

    Schon mal Danke im Vorraus für eure Hilfe 🙂



  • Original erstellt von <Taipi>:
    Ich könnte sie wahrscheinlich irgendwann auch sonstwo im Web finden, aber wär halt trotzdem praktischer.

    Dann tu das doch und belästige heir nicht die leute 😡



  • Original erstellt von <gregg>:
    [quote]Original erstellt von <Taipi>:
    [qb]Ich könnte sie wahrscheinlich irgendwann auch sonstwo im Web finden, aber wär halt trotzdem praktischer.

    Dann tu das doch und belästige heir nicht die leute 😡[/QB][/QUOTE]

    TGGC, bist Du das?!?! 😉


  • Mod

    void MeinTraumCode(float x,float y,float z,float Roll,float Pitch,float Yaw)
    
    {
        glRotatef(Roll, 0.f, 0.f, 1.f);
    
        glRotatef(Pitch, 0.f, 1.f, 0.f);
    
        glRotatef(Yaw, 1.f, 0.f, 0.f);
    
        glTranslatef(-x, -y, -z);
    }
    

    damit kannst du den winkel um jede axe setzen und die position, die camera wird wohl richtig gesetzt (hab ich so aus dem kopf gemacht, also könnte net ganz bugfrei sein, hab aber meinen source nicht hier, doch sollte richtig sein.

    rapso->greets();

    ps. hoffe ich hab damit alle 3 fragen beantworten können



  • danke für deine Mühe... aber leider hilft mir dein Code nicht, da es mir bei dem ganzen um die bestimmung eines Richtungsvektors ging... der wird dann immer mit der Geschwindigkeit des Flugzeuges multipliziert und es fliegt halt in die entsprechende Richtung. Dein Code wird nur benötig, wenn es darum geht, dass Flugzeug korrekt zu zeichnen
    trotzdem thx 🙂


  • Mod

    multiplizier die matrix die dabei rauskommt mit dem vector(0.f,0.f,1.f,0.f); und es sollte der rauskommen, der multipliziert auf deine position draufaddiert werden kann

    rapso->greets();



  • oha... das hört sich schon mal gut an, nur wie mach ich das genau. Wie kann ich dann die matrix auswählen und multiplizieren?



  • Original erstellt von <Sgt. Nukem>:
    TGGC, bist Du das?!?! 😉

    Nein, sieht man doch am Namen!


  • Mod

    entweder du stellst die matrix selber zusammen indem du die rotations und translationsmatrizen aufeinander multiplizierst oder du hollst sie dir aus opengl raus (hab den befehl jetzt nicht im kopf)

    rapso->greets();



  • Original erstellt von rapso:
    oder du ho*ll*st sie dir

    Was hat Frau Holle damit zu tun??! 😕



  • Original erstellt von TGGC:
    Nein, sieht man doch am Namen!

    Wenn das so wäre wüßte ich ja, ob Du es bist, und müßte net fragen... 😉


  • Mod

    @gestapo

    falsches forum, hier dreht sich nichts um frauen...

    rapso->greets();


Anmelden zum Antworten