un challenge pour résourdre ce problème

un challenge pour résourdre ce problème - C++ - Programmation

Marsh Posté le 31-01-2007 à 10:10:49    

je viens de terminer la programation d'un article, j'ai tout fais comme il me le demande, je compile, il y a pas de soucis je debug le programme, là il y a pas la résultat que j'attendrai, j'ai vérifier le programme plusieurs fois tout est nickel. Je mes suis en mode debug étape par étape voir regarder mes valeurs et là je mes suis rendu compte que mes valeurs dans le tableau s'annule au bout d'un certain valeurs pourqoui je sais même pas je veux vous mettre la boucle ou ça se déconner, tandis que j'ai initialiser le tableau je l'a alloué et tout.

Code :
  1. for(int s=0;s<n;s++)//n nombre d'étape
  2.  {
  3.  double Vi[3],Vj[3],Vii[3],Vjj[3],Vkk[3],Ne[3],He,W;
  4.  vtkIdType i,j,fi, fj,ii,jj,kk;//je les déclare comme des vtkIdType
  5.  for (int e=0; e<this->Input->GetNumberOfEdges(); e++)
  6.    {
  7.   Input->GetEdgeFaces(e,fi,fj);// Returns i and j as the faces adjacent to the edge.      
  8.   Input->GetTriangleNormal(fi,Vi);
  9.   Input->GetTriangleNormal(fj,Vj);
  10.   Input->GetEdgeVertices(e,i,j);
  11.   Ne[0]=Vi[0]+Vj[0];
  12.   Ne[1]=Vi[1]+Vj[1];
  13.   Ne[2]=Vi[2]+Vj[2];//additionner les 2 vecteurs Vi et Vj
  14.   vtkMath::Normalize(Ne);
  15.   double Z=vtkMath::Dot(Vi,Ne);//produit entre 2 vecteurs[3] le résultat dans Z cosOe/2=<Ne,Vi>/||Ne||
  16.              double Edge=Input->GetDistanceBetweenVertices(i,j);//calcul de l'arret Eij
  17.   He=2*fabs(Edge)*Z;//He=2|e|cosOe/2    
  18.   double a=He;
  19.   double LambdaSquare=pow(Lambda,2);
  20.   if (fabs(a)>Lambda)
  21.   W=LambdaSquare/(r*pow((Lambda-fabs(a)),2)+LambdaSquare);
  22.   else
  23.   W=1;
  24.   TableDeltaLambda[i][0]-=W*He*Ne[0];
  25.   TableDeltaLambda[i][1]-=W*He*Ne[1];
  26.   TableDeltaLambda[i][2]-=W*He*Ne[2];
  27.   TableDeltaLambda[j][0]-=W*He*Ne[0];
  28.   TableDeltaLambda[j][1]-=W*He*Ne[1];
  29.   TableDeltaLambda[j][2]-=W*He*Ne[2];
  30.    }

Reply

Marsh Posté le 31-01-2007 à 10:10:49   

Reply

Marsh Posté le 31-01-2007 à 17:49:06    

Tu nous donnes des bouts de code comme ça, mais au cas où tu l'ignores, tu es le seul à savoir de quoi tu parles et ce que tu fais.
 
Si ce que tu racontes a un rapport avec http://forum.hardware.fr/hfr/Progr [...] 0141_1.htm,
il est peut-être normal que ton calcul tende vers zéro.

Reply

Sujets relatifs:

Leave a Replay

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