F0ra
Messages postés111Date d'inscriptionmardi 18 septembre 2007StatutMembreDernière intervention29 décembre 2008
-
2 août 2008 à 13:20
crazy lapinou
Messages postés22Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention18 août 2008
-
18 août 2008 à 10:09
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'orignie de la rotation n'est pas au centre du rectangle.
Comment définir le centre du rectanble, ou il faut-il utiliser les cos(), sin() ; si oui comment ?
void Draw_Box(int Texture,float X0,float Y0,float X1,float Y1, int Calque, float ang)
{
glPushMatrix();
cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 20152 3 août 2008 à 11:09
Salut ! moi pour faire une rotation d'un point (x,y) de R radian par rapport au point (a,b) :
J'exprime le point (x,y) par rapport a (a,b) en coordonnée polaire
J'ajoute R a la composante du rayon
Je me retrouve avec une nouvelle coordonnée polaire que je convertit en coordonné cartésienne pour faciliter le draw du point après.
Pour un rectangle je fais cette transformation au 4 points et j'obtiens une belle rotation !
Voila
++
______________________
Adeon, programmeur de jeux sur directX 9 (http://theolith.com) a votre service !
K@zuya
Messages postés306Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention15 février 2016 3 août 2008 à 13:01
ça fait longtemps que je n'ai pas fait d'opengl mais en gros, il faut push ton objet, je mettre au centre du plan de rotation, faire la rotation, le remettre à la place ou il doit être puis le pop
crazy lapinou
Messages postés22Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention18 août 2008 18 août 2008 à 09:57
Merci d'avoir répondu si vite ;)
Donc si je comprend bien, il suffit de faire une translation au millieu de l'image avant de faire une rotation ???
Je test, je verrais bien si c'est ça ;)