begin process at 2012 05 28 19:33:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

[débutant] Axe de rotation caméra


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[débutant] Axe de rotation caméra

samedi 26 février 2005 à 18:44:31 | [débutant] Axe de rotation caméra

Bornibus

Membre Club
Bonjour,

Actuellement sur un
(petit) jeu de stratégie qui se déroule sur un damier (imaginez-vous un jeu d'échec), je désirerai changer l'axe de rotation de la caméra :
Je voudrais que ma caméra puisse tourner autour du damier (donc l'axe de rotation serait le centre du damier). Pour le moment, ma caméra tourne autour du coin inférieur gauche du damier.

Voici ci-dessous la fonction appelée par le callback gluDisplayFunc :
[code]
void affichageDamier()
{

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);   
   glLoadIdentity();

// positionnement de la caméra
 gluLookAt(opg->posX,opg->posY,opg->posZ,opg->ciblX,opg->ciblY,opg->ciblZ,0,0,1);
glRotatef(-angley, 0.0, 0.0, 1.0);  // PROBLEME DE CENTRE DE GRAVITE MAL PLACE !!!


// affichage du damier et de ses occupants
opg->affichage(deroulement->surfaceDeJeu,deroulement,mouvement);

   glutPostRedisplay();
   glutSwapBuffers();
}
[/code]

Merci de votre aide.
samedi 26 février 2005 à 19:20:20 | Re : [débutant] Axe de rotation caméra

luhtor

Ben ta juste a changer la position avec gluLookAt.

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);   
   glLoadIdentity();

// positionnement de la caméra
 gluLookAt(centre_plateau_x + rayon * cos(angle_de_rotation) , centre_plateau_y + rayon*sin(angle_de_rotation), centre_plateau_z, centre_plateau_x,
centre_plateau_ycentre_plateau_z ,0,0,1);

avec le rayon un peu plus grand que la moitié du coté de ton plateau.
Ta pas besoin d'utiliser de fonction rotatef pour faire tourner ta caméra.
dimanche 27 février 2005 à 16:47:30 | Re : [débutant] Axe de rotation caméra

Bornibus

Membre Club
Réponse acceptée !
J'étais en effet parti sur ce principe mais j'avais vu dans un programme qu'il partait sur la notion de rotatef . Enfin, bon bref, je suis donc revenu à la bonne vieille trigonométrie.
Petite précision sur la solution, je pense que celle ci-dessous était plus convenable :
[code]
  opg->posX  = CENTRE_DAMIER_X + ( RAYON_DAMIER * sin(angle* PI/180) );
  opg->posY  = CENTRE_DAMIER_Y - ( RAYON_DAMIER * cos(angle* PI/180) );
  opg->posZ  = CENTRE_DAMIER_Z  + 10;
  opg->ciblX  = CENTRE_DAMIER_X;
  opg->ciblY  = CENTRE_DAMIER_Y;
  opg->ciblZ  =  CENTRE_DAMIER_Z;

  gluLookAt(opg->posX, opg->posY, opg->posZ, opg->ciblX, opg->ciblY, opg->ciblZ,0,0,1);
[/code]

Merci de ton aide.


Cette discussion est classée dans : caméra, rotation, axe, damier, opg


Répondre à ce message

Sujets en rapport avec ce message

[SDL]Comment faire tourner un objet selon un axe de rotation ? [ par forumti ] Bonjour,je souhaiterai créer un compteur (de voiture). seulement, je ne sais pas comment faire pour faire tourner l'aiguille...est-ce que vous auriez Problème : rotation d'une camera [ par bathof ] Bonjour,Je suis en train de développer un jeu 3D de type HomeWorld2,malheureusement j'ai deux trois problèmes du coté de la camera.La caméra doit être Calculer matrice rotation, axe quelconque [ par poiuytrez3 ] Bonjour,je suis en train de faire un petit moteur 3D de A à Z.J'aimerai bien calculer un matrice rotation à partir de n'importe quel axe. Je sais déjà précisions sur les transformations dans l'espace [ par jcloupgarou ] Bonjour,Dans le plan, une homothetie de rapport -1 et de centre l'origine peut se rapporter à une rotation de meme centre et d'angle pi. Il semble que transfert fichier jpeg [ par thorodin ] bonjour,voila le problème:  il faut  que je transfère automatiquement des images jpeg d'une caméra à un PC.La  caméra  doit  se  comporter  comme  un objet coller à la caméra [ par dark_naruto25 ] Salut tout le monde, Je suis un bon didacticiel sur OpenGL, et j'arrive au niveau des projections. L'exercice final propose de créer une scène composé Oriented Bounding Boxes [ par DarkBoss ] Bonjour tout le monde,J' ai une petite question pour certains, une grande pour d' autres ( comme moi ^^ ).J' aimerais savoir comment effectuer une "ro Graphique f(x)=x^p [ par dustez ] On me demande de réaliser un programme affichant sous forme textuelle des graphiques représentant les fonction du type f(x)=x^p, à partir des paramètr pb avec les rotations [ par ET29 ] Bonjour,je bute sur un petit pb de rotations :je voudrais faire pivoter une pyramide avec la souris autour des axes X et Y de l'ecran (soit horizontal Librairie OpenCv et caméri IP [ par msff ] Bonjour,Je suis étudiant en deuxième année de BTS IRIS, mon projet porte sur un robot wifi equipé d'une Caméra IP.Mon travail consiste à récupérer l'i


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,869 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales