Equation d'un plan et tracé
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
Placid
- Messages: 2
- Enregistré le: 13 Avr 2010, 18:33
-
par Placid » 13 Avr 2010, 18:44
Bonjour,
Je tiens tout d'abord à dire que je suis assez mauvais en maths, c'est pourquoi je poste ce message. Je suis en Master 1 Imagerie Numérique, je travaille sur un TP d'OpenGL, je dois calculer et afficher le plan d'une face d'un objet 3D, donc je connais les sommets qui composent cette face.
Admettons que je prenne les 3 premiers sommets d'une face de n sommets (en général de 3-4 sommets, si c'est 3 c'est forcément un plan donc disons 4 :D). Je crée un vecteur v1 à partir des sommets s0 et s1 et v2 avec s1 et s2.
Je calcule le produit vectoriel de ces 2 vecteurs, si c'est différent de nul, c'est que mes 2 vecteurs ne sont pas colinéaires.
Donc, je calcule la composante D dans l'équation : Ax + By + Cz + D = 0
avec [A B C] la normale (produit vectoriel entre v1 et v2) et x y z les coordonnées d'un sommet s0 s1 ou s2 au pif...
La je viens de vous rapporter la méthode "rapide" de détermination d'un plan à partir de 3 sommets vue dans mon cours.
Mon problème et que je veux dessiner avec OpenGL un rectangle, je l'ai que 3 sommets donc comment je pourrais faire ? Cette équation et/ou composante D me sont utiles ? J'avoue être largué ^^
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 13 Avr 2010, 19:41
salut,
j'y ai jamais toiuché à openGL, mais a partir de ca ca devrait etre pas trop mal
- Code: Tout sélectionner
glBegin(GL_QUADS); // Draw A Quad
glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left A(x,y,z)
glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right B
glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right C
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left D a determiner
glEnd();
Ensuite, tu détermines le 4 eme point assez ici :
mettons que tu as A, B et C connu.
Alors

et tu déduis les coordonnées de D
la vie est une fête

-
Placid
- Messages: 2
- Enregistré le: 13 Avr 2010, 18:33
-
par Placid » 13 Avr 2010, 20:30
Ah ben oui, c'était tout c** ... Ce n'était pas du tout l'aspect programmation qui me gênait mais bien l'aspect mathématique...
Oui je détermine le sommet D à partir du vecteur AB, c'est simple et un peu "escroc" comme technique pour trouver le plan qui passe par tous les sommets du polygone mais ça ira !
Merci beaucoup !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 30 invités