Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2013-08-20 18:10:04 coordonnées sphériques

caracteriel
membre
Date d'inscription: 2011-07-03
Messages: 130

coordonnées sphériques



Salut,

  J'essaye de faire tourner une camera autour d'un point.
Basiquement, je fais regarder ma caméra dans une direction (dans celle du point), puis j'utilise les coordonnées :

gluLookAt(metric*sin(ofDegToRad(transX))*sin(ofDegToRad(transY)), metric*cos(ofDegToRad(transX)), metric*cos(ofDegToRad(transX))*sin(ofDegToRad(transY)) , ofGetWidth()/2, ofGetHeight()/2, 0, 0, 0, 1);

transX et transY, c'est des floats en fonction mouseX, mouseY

En code ofx, c'est équivalent à :

cam.lookAt(ofVec3f(ofGetWidth() / 2, ofGetHeight()/2, 0), ofVec3f(0, -1, 0));
(où cam est un objet ofCamera,) puis à

cam.setPosition(metric*sin(ofDegToRad(transX))*sin(ofDegToRad(transY)),metric*cos(ofDegToRad(transX)),metric*cos(ofDegToRad(transX))*sin(ofDegToRad(transY)));

Et au lieu de voir la caméra tourner autour de mon point (ofGetWidth()/2, ofGetHeight()/2, 0) tout en le regardant, j'ai un mouvement merdique mais qui regarde effectivement (ofGetWidth()/2, ofGetHeight()/2, 0)...

Hors ligne

 

#2 2013-08-20 18:40:19 Re : coordonnées sphériques

caracteriel
membre
Date d'inscription: 2011-07-03
Messages: 130

Re: coordonnées sphériques



Accessoirement, je ne souhaite pas utiliser la fonction "orbit" mais vraiment le faire à la main.
A moins que l'on puisse après un cam.orbit() récupérer l'orientation angulaire selon les différents axes X, Y et Z

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024