[sivouplé] [opengl] aidez moi à régler mon p'tit problème de géométrie

aidez moi à régler mon p'tit problème de géométrie [sivouplé] [opengl] - Programmation

Marsh Posté le 21-04-2002 à 17:01:02    

qu'est-ce que l'orientation d'un polygone ?
quand peut-on dire qu'un polygone est orientable ?
 
et je sais que c'est nul mais je ne sais pas (plus) comment s'utilise le symbol somme (supposons que pour le clavier ce soit ?)      
 
aidez moa !  :cry:

 

[jfdsdjhfuetppo]--Message édité par airseb le 21-04-2002 à 17:09:31--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-04-2002 à 17:01:02   

Reply

Marsh Posté le 21-04-2002 à 17:07:37    

orientation d'un polygone ? on parle plutôt d'orientation d'un objet ... ou sinon, c'est la manière de former le polygone : eg à partir de trois points (A, B, C) tu peux former deux triangles : ABC ou ACB, la normale du premier est l'opposée de celle du second.
 
 
pour la somme, je ne me souviens pas non plus, un exemple us :
 
http://mathworld.wolfram.com/EulerFormula.html

Reply

Marsh Posté le 21-04-2002 à 17:15:07    

youdontcare a écrit a écrit :

orientation d'un polygone ? on parle plutôt d'orientation d'un objet ... ou sinon, c'est la manière de former le polygone : eg à partir de trois points (A, B, C) tu peux former deux triangles : ABC ou ACB, la normale du premier est l'opposée de celle du second.
 
pour la somme, je ne me souviens pas non plus, un exemple us :
 
http://mathworld.wolfram.com/EulerFormula.html  




 
heu.. g pas compris  :p  :D

 

[jfdsdjhfuetppo]--Message édité par airseb le 21-04-2002 à 17:15:53--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-04-2002 à 17:15:46    

d'où vient ta question, c'est pour faire quoi ? tu as déjà affiché au moins un triangle avec opengl ?

Reply

Marsh Posté le 21-04-2002 à 17:20:00    

oui deux triangles pour faire un carré monsieur  :D
sinon ça vient de la page 56 de la traduction du redbook  
où on parle d'"inverser et eliminer les faces d'un polygnoe" selon quelles soient avant ou arrière
juste après ça parle de culling

 

[jfdsdjhfuetppo]--Message édité par airseb le 21-04-2002 à 17:21:02--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-04-2002 à 17:33:42    

et donc c'est quoi que tu comprends pas ? :D

Reply

Marsh Posté le 21-04-2002 à 17:51:40    

youdontcare a écrit a écrit :

et donc c'est quoi que tu comprends pas ? :D  




 
orientaion d'un polygone ET d'un objet  :D [:ddr555]

Reply

Marsh Posté le 21-04-2002 à 18:02:11    

orientation d'un objet = sa matrice de rotation
 
orientation d'un polygone = comme dit plus haut, si tu traces un triangle composé des points A, B, C tu peux faire  
 
glVertex(A)
glVertex(B)
glVertex(C)
 
ou
 
glVertex(A)
glVertex(C)
glVertex(B)
 
opengl utilise cet ordre pour déterminer la normale au triangle (vecteur perpendiculaire et orienté), en calculant le produit vectoriel (noté ^) de deux vecteurs définissant le triangle (par ex dans le premier cas, (b-a) ^ (b-c), dans le second (c-a) ^ (c-b) ).
 
tu obtiens ainsi une 'orientation' de ton polygone, suivant le côté vers lequel pointe sa normale. à quoi ça sert ? à choisir de ne pas afficher les 'polygones cachés' : en gros, ceux dont la normale pointe "vers l'arrière".
 
c'est pour ça que tu peux avoir trois paramètres à glCullFace() :
 
GL_FRONT pour ne pas afficher les polygones dont la normale pointe vers l'avant
GL_BACK .... vers l'arrière
GL_FRONT_AND_BACK pour ne rien afficher.

Reply

Marsh Posté le 21-04-2002 à 18:04:54    

et tu pourrais rajouter : "oui mais la normale est invariante : quelle que soit l'orientation d'un objet dans l'espace, les normales de ses polygones sont toujours les mêmes !"
 
oui ! il faut faire la distinction entre les différents repère : les objets sont définis dans leur repère, les normales sont invariantes dans ce repère. pour être affichés, il sont transformés dans le repère caméra. on regarde alors la valeur de la normale dans le repère caméra pour savoir quelles faces afficher.

Reply

Marsh Posté le 21-04-2002 à 18:05:06    

L'orientation depend du sens dans lequel du defini les points du polygone (sens trigo ou pas).
Ca permet de determiner la normale et de savoir si c'est la face avant ou arriere par exemple.

Reply

Marsh Posté le 21-04-2002 à 18:05:06   

Reply

Marsh Posté le 22-04-2002 à 10:32:21    

sinon le culling est généralement effectué par les cartes 3d en faisant le produit vectoriel 2d des points après projection...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed