Calcul de l'angle dièdre

Calcul de l'angle dièdre - C++ - Programmation

Marsh Posté le 20-02-2007 à 15:56:44    

Comment pourra t-on calculer l'angle dièdre en C++, si par exemple on a un arret qui contient 2 faces adjacents sur cet arret????? tandis que le calcul de l'angle dièdre a une relation avec la courbure sur cet arret par exemple si on a pas de courbure l'angle dièdre égale a 180°. voilà se problème algorithmique mathématique plus que programmation mais bon. Merci en avance pour vos aides

Reply

Marsh Posté le 20-02-2007 à 15:56:44   

Reply

Marsh Posté le 20-02-2007 à 16:35:18    

J'ai rien compris :(

Reply

Marsh Posté le 20-02-2007 à 16:41:31    

me too rien comrpite :o

Reply

Marsh Posté le 20-02-2007 à 16:49:54    

un angle dièdre est la figure formée par deux demi-plans (faces) issus d'une même droite (arête). l'angle dièdre est la mesure de l'angle obtenu en coupant de dièdre par un plan perpendiculaire à l'arête. voilà ça est la définition de l'angle dièdre comment je pourrai faire le calcul de cet angle de l'arête commune entre deux faces?????

Reply

Marsh Posté le 20-02-2007 à 16:52:10    

t'as pas un dessin , un schéma?

Reply

Marsh Posté le 20-02-2007 à 17:11:42    

Reply

Marsh Posté le 20-02-2007 à 19:33:19    

j'ai compris ce qu'était l'angle de dièdre, mais j'ai toujours pas compris la question :D
 
et surtout, niveau code, tu représentes comment tes demi-plans, ta droite (ab) et ton point O ?
 
parce qu'avant d'aller plus loin, sans savoir comment tu représentes tout ce joyeux bordel ça va être chaud pour faire le moindre algo...
 
je suppose que tu as 3 points :
 
A (membre de la droite ab)
X et Y (membres des demi-planx x et y)
 
Plus deux coéfficients directeurs permettant à partir de A d'obtenir la droite ab c'est ça ?
 
Et donc tu veux calculer le dièdre.
Par contre tes histoires d'arrêtes qui sont sur des faces adjacentes  à l'arrête, je pige pas... c'est ta droite ab ça non ? (de toute façon, par définition un demi-plan n'a qu'une arrête non ?)


Message édité par MagicBuzz le 20-02-2007 à 19:38:03
Reply

Marsh Posté le 20-02-2007 à 19:37:20    

oui ma droite ab et mon point O. et je représente mes demi-plans sur les axes x, y et z. voilà

Reply

Marsh Posté le 20-02-2007 à 19:39:07    

comment tu représentes tes demi-plans "sur les axes x, y, z" ? un point X et un point Y c'est ça ?
 
(ceci dit, je débroussaille, je vois exactement ce qu'il faut faire, mais ma terminale S est bien trop loin derrière moi pour avoir la moindre idée de quels calculs effectuer... déjà mesurer l'angle que forme deux droites dans un repère 2D je sais plus faire, mais alors faire le calcul dans l'espace...)
 
en tout cas, en gros, faut simplement que tu mesure l'angle entre Ox et Oy, c'est à dire que tu changes le repère pour aller en O, puis tu appliques de mémoire des calculs relativement simple une fois que l'intersection des deux demi-droites sont rammenées à l'origine.


Message édité par MagicBuzz le 20-02-2007 à 19:48:37
Reply

Marsh Posté le 20-02-2007 à 19:41:32    

Ceci dit, pour moi, le point O est totalement inutile... En tout point de ab l'angle du dièdre est égal non ? ou alors tes demi-plans ne sont pas plats ? ta droite tordue ?
ou alors j'ai rien pigé :D le dièdre c'est pas simplement l'angle que forment les deux demi-plans ?
 
en fait, ce qui m'énerve avec les maths/géométrie, c'est que pour un truc simple et concret ils arrivent à caser des mots que personne ne comprends... alors je vous raconte pas ce que ça donne quand ça devient abstrait :o


Message édité par MagicBuzz le 20-02-2007 à 19:44:39
Reply

Marsh Posté le 20-02-2007 à 19:41:32   

Reply

Marsh Posté le 20-02-2007 à 20:20:53    

non mais on fait je travail sur les 3 axes x, y et z et quand je veux présenter 2 demi plan sur ces 3 axes je mets un point sur x donc A(1,0,0), un point sur y B(0,1,0), et un point sur z C(0,0,1) et la derniére point entre les 2 axes x et z soit D(1,0,1). Voilà c'est comme ça que je représente mes 2 demi-plans  

Reply

Marsh Posté le 20-02-2007 à 20:33:17    

T'ain je pige rien, c'est fou !
 
T'as un plan défini par les axes x et z, ainsi qu'un autre plan défini par A, B, C ? C'est quoi D ?
 
Anyway : commence par calculer la droite d'intersection des deux plans. De mémoire c'est une formule plutôt simple. Si pas d'intersection, alors les deux plans sont parrallèles (et dans ton cas, forcément confondus) puisqu'ils ont l'ogirine du repère en commun, donc aucun angle de dièdre à calculer.
 
Une fois que tu as cette droite, prends un point au hasard (genre son intersection avec un des trois axes, attention, cette droite peut être parralèle à un axe, il faut donc tester un second axe dans ce cas). Puis ramène ce point à l'origine.
A partir de là, tu pourras "aisément" calculer l'angle que forment les deux plans.
 
Désolé de ne pas être plus précis... Y'a pas un matheux qui traîne dans le coin ?
 
PS : En plus si comme j'ai compris, un des deux plans est xy, alors c'est tout con, t'as aucune rotation à faire pour calculer ton angle. Deplus, tu sais que ab est sur xy, ce qui simplifie grandement le changement de repère (deux dimensions à modifier au lieu de 3)


Message édité par MagicBuzz le 20-02-2007 à 20:37:06
Reply

Marsh Posté le 20-02-2007 à 20:38:56    

Dans tous les cas, que j'aie compris où non ta représentation des plans, il faut que tu ramènes ton point O à l'origine. A partir de là y'a des formules existantes pour calculer l'angle que forment les deux plans.

Reply

Marsh Posté le 21-02-2007 à 09:41:01    

tu m'as pas compris, je t'ai dis que celui qui est dans le lien n'est qu'un exemple sur 2 axes et moi je travail en 3D sur les 3 axes. si on prend en exemple 3 triangles ou bien tien un pyramide comment tu pourras faire le calcul de l'angle dièdre de ce pyramide ???????

Reply

Marsh Posté le 21-02-2007 à 10:18:28    

Commence peut etre par nous expliquer comment tu représentes tes plans
( je te parle pas dans l'espace hein :o , plutot en mémoire ).

 

Tu fais une représentation paramétrique ? Je fouille dans mes cours pour voir si j'ai quelque chose d'approchant


Message édité par -ThX- le 21-02-2007 à 10:19:02
Reply

Marsh Posté le 21-02-2007 à 10:22:15    

1/ dans le lien, la définition du diedre se fait en 3D...
2/ pour faire le calcul dans une pyramide, c'est un trièdre (exemple suivant dans le même lien)
 
là j'ai l'impression que t'es sptounik dans l'espace en train de nous envoyer des "bip bip" sans aucun sens et nous on voit juste un truc en orbite mais on comprend pas du tout ce que ça nous veut... :spamafote:

Reply

Marsh Posté le 21-02-2007 à 10:25:02    

MagicBuzz a écrit :

1/ dans le lien, la définition du diedre se fait en 3D...
2/ pour faire le calcul dans une pyramide, c'est un trièdre (exemple suivant dans le même lien)
 
là j'ai l'impression que t'es sptounik dans l'espace en train de nous envoyer des "bip bip" sans aucun sens et nous on voit juste un truc en orbite mais on comprend pas du tout ce que ça nous veut... :spamafote:


 
Métaphore du matin, café plein les mains ? [:ocube]
 
Spoiler la prochaine fois, j'ai failli m'étouffer [:ddr555]

Reply

Marsh Posté le 21-02-2007 à 10:29:29    

C'est faisable en HLSL vous pensez ? [:ddr555]

Reply

Marsh Posté le 21-02-2007 à 11:22:18    

ce n'est pas rigolant du tout,   :kaola:  
s ije te mets le code qui montre comment je présente mes plans en espace et en mémoire tu ne vas pas comprendre puisque j'utilise vtk.  

Code :
  1. vtkSurface *pyramide=vtkSurface::New();
  2. pyramide->Init(1,1,1);
  3. //les sommets du notre pyramide on a 5 sommets
  4. pyramide->AddVertex(0,1,0);//0
  5. pyramide->AddVertex(0,0,1);//1
  6. pyramide->AddVertex(1,0,1);//2
  7. pyramide->AddVertex(1,0,0);//3
  8. pyramide->AddVertex(0,0,0);//4
  9. //les triangles du notre pyramide on a 6 traingles  
  10. pyramide->AddFace(1,0,2);
  11. pyramide->AddFace(2,0,3);
  12. pyramide->AddFace(3,0,4);
  13. pyramide->AddFace(1,0,4);
  14. pyramide->AddFace(1,4,3);
  15. pyramide->AddFace(2,3,1);


 
tiens ça c'est un pyramide.
là maintenant dis-moi comment je pourrai faire le calcul de l'angle dièdre et la courbure moyenne  :sol:  :whistle:  

Reply

Marsh Posté le 21-02-2007 à 11:31:41    

même dans les commentaires de son code y'a des fautes d'orthographe :(

Reply

Marsh Posté le 21-02-2007 à 11:38:43    

vous me suivez sur les fautes d'orthographe, ça se voit que je suis pas français de naissance, alors ou bien vous m'aider ou bien vous arrêtez de me critiquer

Reply

Marsh Posté le 21-02-2007 à 11:53:30    

Code :
  1. pyramide->Compute(vtkCompute::New(),COMPUTE_TEH_MIGHTY_DIEDRE_ANGLE)


 

Spoiler :

:o

Reply

Marsh Posté le 21-02-2007 à 11:58:48    

Donc, dans un piramide à 4 côtés, c'est plus un dièdre ni un trièdre, mais un polyèdre :o
 
-Thx- > C'est juste ça pour faire le calcul ? [:magicbuzz]  
 
C'te prise de tête pour pas grand chose :D


Message édité par MagicBuzz le 21-02-2007 à 11:59:28
Reply

Marsh Posté le 21-02-2007 à 11:58:59    

hamoudasafira1 a écrit :

vous me suivez sur les fautes d'orthographe, ça se voit que je suis pas français de naissance, alors ou bien vous m'aider ou bien vous arrêtez de me critiquer


 
vu comment un bon nombre de "français de naissance" écrivent aujourd'hui, ça devient de plus en plus dur de se baser sur l'orthographe pour deviner la nationalité de qq'un :/

Reply

Marsh Posté le 21-02-2007 à 12:01:42    

et encore, là c'est plus lisible que de la part d'un piniouf français de 14 ans. il n'a pas eu droit à mon classique "et en langage humain ça donne quoi ?"
 
bref, c'est de plus en plus compliqué d'aider une personne qui a un souci de prog... avant, fallait réussir à lui faire exprimer son problème. maintenant, faut réussir à décrypter son explication :o
 
anyway, à priori la fonction magique Compute() aurait tout résolu. mission accomplie ! :bounce:

Reply

Marsh Posté le 21-02-2007 à 12:02:23    

il y on a pas un truc compute dans vtk!!!!!!!!!!!!!!!!!!!!!!!!!
qu'est ce que tu veux dire par cela????

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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