Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de rotation [ Divers / Débutant(e) ] (F0ra)

mardi 12 août 2008 à 01:00:06 | Problème de rotation

F0ra

Bonjour,
Je voudrais faire une rotation d'un rectangle en OpenGL.
Le problème avec glRotate, c'est assez compliqué quand on a beaucoup de rectangles.
Donc, je pense qu'avec les cos, sin, ça sera plus simple.

Voici les 4 points du rectangle :
Point A (X0,Y1)
Point B(X1,Y1)
Point C(X1,Y0)
Point D(X0,Y0)

J'ai un problème avec mes formules mathématiques. Ça ne tourne pas comme il faut.

float CX = (X0 + X1) / 2;
float CY = (Y0 + Y1) / 2;

X0 = CX+((X0 - CX)*cos(ang)  - (Y0 - CY)*sin(ang));
Y0 = CY+((X0 - CX)*sin(ang)  - (Y0 - CY)*cos(ang));

X1 = CX+((X1 - CX)*cos(ang)  - (Y1 - CY)*sin(ang));
Y1 = CY+((X1 - CX)*sin(ang)  - (Y1 - CY)*cos(ang));

Merci beaucoup
@+


mardi 12 août 2008 à 09:17:43 | Re : Problème de rotation

SebLinck

Salut,
C'est plus simple, mais plus compliqué, c'est ça que tu es en train de dire...
Si tu fait de la programmation OpenGL, utilise les fonctions OpenGL,
Beaucoup de rectangle, c'est combien pour toi ?
De toute facon derrière la fonction Gl Rotate, il y a une matrice de rotation,
donc les sin et cos sont utiliser mais c'est transparent pour l'utilisateur...
pour faire tourner uniquement les rectangles ( ou autre ),
regarde PushMatrice() et PopMatrice()...

Cordialement,
Sébastien.

mardi 12 août 2008 à 09:42:43 | Re : Problème de rotation

F0ra

Beaucoup de rectangle, c'est combien pour toi ?
et bien beaucoup...
[ Lien ]

Je connais glPushMatrix() et glPopMatrix(), le problème avec glRotate, la rotation ne se fait pas au centre. Il faudrait réaliser certainement une translation du centre avec glTranslatef.
Je cherche donc un tutorial pour ceci ou j'utilise les cos et sin.

mardi 12 août 2008 à 09:48:15 | Re : Problème de rotation

zaibacker

salut, tu cherches à faire quoi avec la formule :
float CX = (X0 + X1) / 2;
float CY = (Y0 + Y1) / 2;
???
Là tu calcules le milieu entre 2 points.


mardi 12 août 2008 à 09:50:38 | Re : Problème de rotation

F0ra

oui, je calcule le milieu entre 2 points

mardi 12 août 2008 à 09:50:39 | Re : Problème de rotation

F0ra

oui, je calcule le milieu entre 2 points pour

mardi 12 août 2008 à 09:50:41 | Re : Problème de rotation

F0ra

oui, je calcule le milieu entre 2 points pour avoir

mardi 12 août 2008 à 09:50:42 | Re : Problème de rotation

F0ra

oui, je calcule le milieu entre 2 points pour avoir le

mardi 12 août 2008 à 09:53:37 | Re : Problème de rotation

F0ra

ha la la, il faudrait supprimer tout ça dsl

mardi 12 août 2008 à 19:33:29 | Re : Problème de rotation

Lucky92

Ton problème, c'est que tu utilises les variables que tu es en train de modifier :

X0 = CX+((X0 - CX)*cos(ang)  - (Y0 - CY)*sin(ang));
Y0 = CY+((X0 - CX)*sin(ang)  - (Y0 - CY)*cos(ang));


1 2

Cette discussion est classé dans : cx, x0, y1, cy, ang


Répondre à ce message

Sujets en rapport avec ce message

faire des conversions de Type de données en integer [ par laura1978 ] ReSalutj'aimerai demander si mes types de données ont étés bien convertir, car j'aimerai avoir des resultats en Integer:Mon code:void DrehmatrixKonver lire un fichier en C++ [ par rif59 ] bonjour;j'ai creer un fichier "etoile" en C++, contient 3 tableaux: Annee, Sep et Ang. mais a l'ouverture de ce fichier j'arrive pas a lire les valeur Question OMRON :D [ par Gaulois ] Salut à tous,J'ai une question sur les automates Omron en esperant que quelqu'un puisse m'aider ici.J'utilise un automate Omron au travail, pour lance [OpenGL] rotation [ par F0ra ] Bonjour,J'ai un problème pour réaliser une rotation en OpenGL au centre du rectangle.J'ai esayé avec glRotatef(ang,0.0,0.0,1.0);  le problème l'origni Heeeelp .... [ par Guillaume ] J'ai ca : (programme tres simplifié ... bien sur ...)#include #include class TMAC { public: void getVAR();};void TMAC::getVAR() { printf("%d\n",Ai); conversion de syntaxe en compilateur [ par laulau10 ] int i=1;do printf("coucou");whil(i=1);on peux me dire commen,t convertir ceci pour que ca fonctionne sous dev-c++ void Fa() { asm{ MOV AX,3 INT 0x33 problème d'unresolved external symbol [ par Cyrik ] Salut à tous, Voila ce que m'affiche le compilateur: --------------------------------------- Linking... CY_M2D_ElementBase.obj : error LNK2001: unreso angles [ par PijanaKrava ] Yop tt le mondevoilà g un chti problème avec une appli VC++ ke je dois faire.Voilà g 3 points dont g les coordonnées et je dois calculer l'angle formé Le C et la commande ASM : RET ! [ par Foub12 ] Bonjour,j'ai récupéré sur Internet les lignes suivantes, codés en assembleur qui permet de déterminer si le BIOS et les disques durs supportent des ta


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.