Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1482 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  calcul du normal d'un triangle en c++

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

calcul du normal d'un triangle en c++

n°1506021
hamoudasaf​ira1
Posté le 22-01-2007 à 18:35:44  profilanswer
 

j'ai un problème pour faire le calcul du normal du barêtte eij tel que i et mes sommets des triangles et j les voisins des ces sommets dans les mêmes triangles, tandis que Ne=N1+N2/||N1+N2|| et le normal moyenne du triangle He=2|e|cosOe/2. Oe est le produit scalaire du <N1,Ne>. voilà comment pourai-je faire ce calcul. merci en avance pour vos aides.

mood
Publicité
Posté le 22-01-2007 à 18:35:44  profilanswer
 

n°1506090
_darkalt3_
Proctopathe
Posté le 22-01-2007 à 22:13:00  profilanswer
 

Imbitable.
 
Edite, corrige, et on verra.


---------------
Töp of the plöp
n°1506098
Ace17
Posté le 22-01-2007 à 22:31:49  profilanswer
 

Oui, j'avoue, j'ai essayé plusieurs fois d'y comprendre quelque chose moi aussi, et finalement ... joker

n°1506182
hamoudasaf​ira1
Posté le 23-01-2007 à 09:25:28  profilanswer
 

ok je corrige on fait je voudrai faire le calcul du normal moyen de 2 vecteurs qui est là Ne Ne=N1+N2/||N1+N2|| et de calculer aussi He le normal moyen du triangle He= 2|e|cosOe/2. tandis que cosOe=<produit scalaire de N1,et Ne>. comment pourai-je faire ce calcul en c++. voilà j'edpére que j'ai été clair cette fois.

n°1506187
Ace17
Posté le 23-01-2007 à 09:42:56  profilanswer
 

Ta question, c'est "comment calculer une norme et un produit scalaire ?" ?
 

n°1506191
hamoudasaf​ira1
Posté le 23-01-2007 à 09:48:48  profilanswer
 

voilà c'est ça ma question............le produit scalaire de 2 norme est égal au cosinus de l'angle entre ces 2 angles non????

n°1506219
Ace17
Posté le 23-01-2007 à 10:38:12  profilanswer
 

Le produit scalaire usuel de deux vecteurs de norme 1 est egal au cosinus de l'angle entre les deux vecteurs, oui.
 
La norme euclidienne pour un vecteur.
(x)
(y) = sqrt( x*x + y*y + z*z )
(z)
 
Avec sqrt la racine carree.
 
Le produit scalaire de ces deux vecteurs :
 
(x1) (x2)
(y1).(y2) = x1*x2 + y1*y2 + z1*z2.
(z1) (z2)
 
Mais bon, ca c'est des maths et permets moi de te demander quel est ton niveau d'etudes si tu ne savais pas ca ...


Message édité par Ace17 le 23-01-2007 à 10:38:36
n°1506229
hamoudasaf​ira1
Posté le 23-01-2007 à 10:47:34  profilanswer
 

on fait on math je le sais je suis en bacc+5 biomédical et je fais la programation mais c'est la programation en c++ que je connais pas comment les faire c'est juste ça mon problème on fait . mais sin non pour le calcul de math je le connais. d'accord comme maintenant on pourra faire le calcul du produit scalire entre 2 vecteur mais ce que t'as oublié de le dire que le cos de l'angle entre les 2 vecteurs se fait on fait entre le vecteur moyen et 1 de 2 vecteurs, mais bon. Juste un petit truc comment pourai-je calculer le vecteur moyen qui est égale à: N1+N2/||N1+N2|| .......en c++!!!!!!!!!! ok merci en avance

n°1506284
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 12:28:38  profilanswer
 

on commence par creer une structure de donnees "vecteur" qui encapsule
les coordonées du dit vecteur et ensuite, il reste à ecrire les fonctions qui vont bien ^^
 
Sinon : Blitz++, NT2, uBlas ...

n°1506304
Ace17
Posté le 23-01-2007 à 13:23:47  profilanswer
 

hamoudasafira1 a écrit :

Juste un petit truc comment pourai-je calculer le vecteur moyen qui est égale à: N1+N2/||N1+N2|| .......en c++!!!!!!!!!!


Mais p**** tu veux quoi? Qu'on te le code a ta place ?

mood
Publicité
Posté le 23-01-2007 à 13:23:47  profilanswer
 

n°1506309
nrth
Posté le 23-01-2007 à 13:28:16  profilanswer
 

une classe vecteur, avec opérateur addition, division scalaire, méthode de norme et voilà ^^


---------------
BarrePoint.org : News pour techno-geeks.
n°1506318
hamoudasaf​ira1
Posté le 23-01-2007 à 13:46:01  profilanswer
 

pour Mr.Ace17 non merci je n'aurai pas besoin  
#include <iostream.h>
 
class vecteur
 {
 private :  //la structure interne d'un vrai objet n'a pas à être publique
  float x,y,z;
 
 protected : //à la rigueur les heritiers peuvent accéder  
             //directement aux attributs
  void setx(float a=0) {x=a;}
  void sety(float a=0) {y=a;}
  void setz(float a=0) {z=a;}
 
 public :
  vecteur(float a=0,float b=0,float c=0) {x=a;y=b;z=c;} //constructeur
 
//les accesseurs en lecture sont publics
  float getx(void) {return(x);}
  float gety(void) {return(y);}
  float getz(void) {return(z);}
 
  void affiche(ostream &flux) //flux est en argument car je veux pouvoir utiliser cout mais aussi tout fichier texte
      {flux<<"["<<x<<","<<y<<","<<z<<"]";}
  void saisie(istream &flux); //si le flux est cin on pose des questions sur cout, sinon on saisit sans question
 
  void additionner(float a)  
      {x=a+x;y=a+y;z=a+z;}
  void additionner(float a,float b,float c) //ceci est une surcharge.
      {x=a+x;y=b+y;z=c+z;}
  void additionner(vecteur a)               //encore une surcharge.
      {x=x+a.x;y=y+a.y;z=z+a.z;}
 
  float norme(void) {return(sqrt(x*x+y*y+z*z));}  //calcule la norme
  void normer(void) {float n=norme();x/=n;y/=n;z/=n;} //le modifie (le rend unitaire)
 
  void multiplier_par(float a) {x=a*x;y=a*y;z=a*z;}
  float prodscal(vecteur v) {return(x*v.x+y*v.y+z*v.z);}
 
  vecteur operator = (int arg)  //opérateur de copie, prévu ici uniquement pour écrire V=0
    { if(arg==0) x=y=z=0; else cout<<"affectation suspecte\n"; }
 
 
 };  //n'oubliez pas ce ; c'est la fin d'une déclaration
 
void vecteur::saisie(istream &f)
 {
  if(f==cin)cout<<"entrez x : ";
  f>>x;
  if(f==cin)cout<<"entrez y : ";
  f>>y;
  if(f==cin)cout<<"entrez z : ";
  f>>z;
 }
 
//redéfinition des opérateurs (sous forme de fonctions)
 
ostream& operator << (ostream &f,vecteur v)
 {v.affiche(f);return(f);}
 
istream& operator >> (istream &f,vecteur &v)
 {
  v.saisie(f);
  return(f);
 }
 
vecteur operator ^ (vecteur v,vecteur w)     //produit vectoriel
 {vecteur z(
            v.gety()*w.getz()-w.gety()*v.getz() ,
            v.getz()*w.getx()-w.getz()*v.getx() ,
            v.getx()*w.gety()-w.getx()*v.gety()  
           );
  return(z);
 }
 
vecteur operator * (float f,vecteur v)     //produit par un réel
 {vecteur z=v;
  z.multiplier_par(f);
  return(z);
 }
vecteur operator * (vecteur v,float f)     //le prod par un float est commutatif !!!
 {return(f*v);}    //je l'ai déjà défini dans l'autre sens, autant s'en servir !
 
vecteur operator / (vecteur v,float f)  
 {return(v*(1/f));}
 
float operator * (vecteur v,vecteur w)     //produit scalaire  
 {return v.prodscal(w);}
 
vecteur operator + (vecteur v,vecteur w)     //somme vectorielle
 {vecteur z=v;
  v.additionner(w);
  return(z);
 }
 
vecteur operator - (vecteur v,vecteur w)     //différence vectorielle
 {return(v+((-1)*w));}
 
/* petit programme main si l'on veut tester l'objet ***********
int main(void)
 {
  vecteur v(1,1,0),w,z;
  cout<<"la norme de "<<v<<" vaut "<<v.norme()<<"\n";
  cout<<"entrez vos nouvelles coordonnées :\n";
  cin>>w;
  cout<<"la norme de "<<w<<" vaut "<<w.norme()<<"\n";
  cout<<"le prod scal de "<<v<<" et "<<w<<" est "<<v.prodscal(w)
                               <<" (ou "<<v*w<<" )\n";
  z=2*(v^w);
  cout<<"le double de leur prod vect vaut "<<z<<"\n";
 }
 
voilà le code mais ce je voudrai le faire c'est en utilisant le vtkSyrface par exemple au lieu de faire tout cela pour faire le produit scalaire je pourrai faire vtkMath::Dot(vecteur V1, vecteur V2)
 
mais comment utiliser ces trucs pour faire tout le cacul vous avez une idée????

n°1506352
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 14:44:06  profilanswer
 

si mes étudiants me rendait un tp comme ça, je pense qu'il n'aurait pas la moyenne ...
 
-> tu en respecte pas la forme canonique de coplien
-> en quelle honneur les mutateurs sont protégés ?
-> les passage d'objet en paramétres se font par REFERENCE CONSTANTE et non par valeur.
-> iostream.h est déprécié, utilise iostream
-> return est un mot clé, pas une fonction
->
2/20 on reprends svp


Message édité par Joel F le 23-01-2007 à 14:45:43
n°1506382
hamoudasaf​ira1
Posté le 23-01-2007 à 15:33:16  profilanswer
 

ou merci ça on fait été un cours mais mois je ne lprend pas tous j'ai prend uniquement ce que j'aurai besoin qoui c'est tout mais ce n'est pas mon programme

n°1506398
nrth
Posté le 23-01-2007 à 16:01:00  profilanswer
 

tu peux sûrement tout faire en vtk oui, c'est une lib de visualisation donc les vecteurs et leurs opérations sont couverts.


---------------
BarrePoint.org : News pour techno-geeks.
n°1506408
hamoudasaf​ira1
Posté le 23-01-2007 à 16:28:03  profilanswer
 

mais le problème que je sais trop comment faire par exemple je veux mettre mon bou de code:
class vtkAnisotropicFilter
 
{
 
 public :
 
//déclaration + allocation d'un tableau de 2 dimensaions et de i chaines
 void SetInput(vtkSurface *Input) {this->Input=Input;};
 
 //calcul du vecteur H(e)=He*Ne (vecteur du courbure moyenne) tel que Ne=N1+N2/||N1+N2||   He=2|e|cosOe/2
void AnisotropicSmoothing( double M,double Lambda,double s,int n)//M(maillage), Lambda(caract. de détection du paramétre),s(facteur de l'échelle)
{
   
  for(int i;i<n;i++)//n nombre d'étape
  {
  double DeltaLambda=0;
   
   for (int e=0; e<this->Input->GetEdgeVertices(); e++)
    {
   
     double N1,N2;
 this->Input->GetEdgeVertices(e,i,j)//pour obtenir la barêtte esj
  vtkMath::Norm(N1[i]);//calcul du norme ||N1+N2||
  vtkMath::Norm(N2[i]);
vtkMath::Dot(N1[i],Ne[i]);//produit scalaire
 
1)comment additionner 2 vecteur en vtkSurface?????
2)si je faire le calcul entre les 2 sommets i et j il faut tout d'abord je les déclarts comme ils sont dans getedgevertices (en dessus) comment les fair edéclarer???

n°1506415
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 16:50:47  profilanswer
 

hamoudasafira1 a écrit :

ou merci ça on fait été un cours mais mois je ne lprend pas tous j'ai prend uniquement ce que j'aurai besoin qoui c'est tout mais ce n'est pas mon programme


 
[:icon16]  et le cours d'expression écrite ?

n°1506416
nrth
Posté le 23-01-2007 à 17:00:08  profilanswer
 

je comprends plus rien là... pourquoi tu pars dans du smoothing anisotropic alors que tu voulairs faire un simple calcul vectoriel au début ? c'est quoi la question ? pour additionner 2 vecteurs VTK, il doit y avoir des fonctions qui vont bien sur ces objets dans la lib non ? c'est un gag ?


Message édité par nrth le 23-01-2007 à 17:00:40

---------------
BarrePoint.org : News pour techno-geeks.
n°1506444
hamoudasaf​ira1
Posté le 23-01-2007 à 17:52:40  profilanswer
 

oui c'est un gag :d :d :d :d  
ou début j'ai parti d'un calcul vectoriel oui c'est vrai, je l'aurai besoin dans ma classe, et puis je dois le faire en utilisant la biblio de vtksurface j'ai arrivé à faire quelque chose comme le calcul du norme et le produit scalaire mais j'arrive pas à les faire réueni pour calculer le vecteur moyen Ne et l'autre vecteur He . tandis que He=2|eij|cosOe/2
telque eij est la distance entre les 2 sommets i et j et on pourra faire le calcul comme ça:
this->Input->GetDistanceBetweenVertices(i,j);
et cosOe/2=produit scalaire entre le vecteur N1 et Ne (vecteur moyen) et il se fait comme ça :
vtkMath::Dot(N1[i],Ne[i]);
donc comment pourrai-je multiplier le valeur de eij=this->Input->GetDistanceBetweenVertices(i,j);
avec cosOe/2=vtkMath::Dot(N1[i],Ne[i]);
 
pour calculer Ne: Ne=N1+N2(addition vectorielle)/||N1+N2||(la norme)
 
voilà c'est ça mon problème

n°1506461
Ace17
Posté le 23-01-2007 à 18:56:54  profilanswer
 

Allez je t'aide :
 

Code :
  1. class Vector
  2. {
  3. public:
  4.    Vector operator+(const Vector& v);
  5.    friend Norme(const Vector& v);
  6. };
  7. Ne = (N1+N2) / Norme(N1+N2);


 
Voila, reste a implémenter la classe Vector (ce qui n'est pas difficile)

Message cité 1 fois
Message édité par Ace17 le 23-01-2007 à 18:57:13
n°1506466
hamoudasaf​ira1
Posté le 23-01-2007 à 19:21:23  profilanswer
 

je te remercie mias ce n'est pas comme ça qu'il faut faire, mais il faut utiliser la biblio de vtkSurface en tout cas je te remercie infiniment et désoler si je vous ai déranger tous et merci bien à vous pour votre effort pour m'aider. voilà ce que j'essaies de le faire mis jusqu'à maintenant je ne sais pas si ça va marcher ou pas?
 

Code :
  1. void AnisotropicSmoothing( double M,double Lambda,double s,int n)//M(maillage), Lambda(caract. de détection du paramétre),s(facteur de l'échelle)
  2. {
  3.  for(int i;i<n;i++)//n nombre d'étape
  4.  {
  5.  double DeltaLambda=0,s[3],j[3],He,Ne,N1,N2,Z;
  6.   for (int e=0; e<this->Input->GetEdgeVertices(); e++)
  7.    {
  8.     double N1,N2;
  9.     //this->Input->GetPointCoordinates(i,X);
  10.     this->Input->GetEdgeVertices(e,s,j)//pour obtenir la barêtte esj
  11.     vtkMath::Norm(N1[i]);//calcul du norme ||N1+N2||
  12.     vtkMath::Norm(N2[i]);
  13.     Ne[s]=(N1[3]+N2[3])/(double)(vtkMath::Norm(N1[s])+vtkMath::Norm(N2[s]));
  14.     Ne[j]=(N1[j]+N2[3])/(double)(vtkMath::Norm(N1[j])+vtkMath::Norm(N2[j]));
  15.     vtkMath::Cross(N1[3],Ne[3],Z[3])//produit entre 2 vecteurs[3] le résultat dans Z
  16.     //vtkMath::Dot(x[3],y[3])//produit de 2 vecteurs-3 double precision  
  17.     //this->Input->GetDistanceBetweenVertices(i[3],j[3]);//calcul de distance entre 2 points
  18.     //vtkMath::Distance2BetweenPoints(i[3],j[3])//calcul de distance entre 2 points
  19.     //this->Input->GetTriangleNormal(vtkIdType Triangle, double *Normal);//calcul du normal d'un triangle donnée
  20.     He[s]=2*(double)(this->Input->GetDistanceBetweenVertices())*Z[s];
  21.     He[j]=2*(double)(this->Input->GetDistanceBetweenVertices())*Z[j];


n°1506493
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 21:13:47  profilanswer
 

Ace17 a écrit :

Allez je t'aide :
 

Code :
  1. class Vector
  2. {
  3. public:
  4.    Vector operator+(const Vector& v);
  5.    friend Norme(const Vector& v);
  6. };
  7. Ne = (N1+N2) / Norme(N1+N2);


 
Voila, reste a implémenter la classe Vector (ce qui n'est pas difficile)


 
Presque :o
 

Code :
  1. class Vector
  2. {
  3.   // données, accesseurs, mutateurs, FCC
  4. };
  5. Vector operator+(const Vector& v1, const Vector& v2);
  6. double Norme(const Vector& v);


 
juste pour le detail ;)

n°1506499
Ace17
Posté le 23-01-2007 à 21:34:21  profilanswer
 

pourquoi c'est mieux de faire ainsi ?

n°1506524
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 23:04:22  profilanswer
 

les operateurs surchargés symmetriques n'ont pas à etre des méthodes d'instances car l'objet *this ne joue pas de rôle particulier.
 
Avec le bon lot d'accesseur, Norme n'a pas besoin d'etre friend ni de connaitre le contenu privé de vector.

n°1506527
IrmatDen
Posté le 23-01-2007 à 23:07:53  profilanswer
 

Est-ce que, dans ce cas, tu inline explicitement les accesseurs, ou est-ce que tu laisses le compilo faire son boulot d'optimisation?
Jusqu'à récemment, j'explicitais toujours, mais maintenant que j'ai lu un peu plus de docs sur mon compilo (VC++ express à ce jour), j'hésite :)

n°1506528
Joel F
Real men use unique_ptr
Posté le 23-01-2007 à 23:09:55  profilanswer
 

ca depend fortement du compilateur. En general, pour des classes non tempalte, j'explicite. Sinon je laisse l compilo faire.
 
De toute manière, l'inilining est une otpimisation, donc à faire en dernier ;)

n°1506535
IrmatDen
Posté le 23-01-2007 à 23:42:29  profilanswer
 

Merci pour les petites explications ;)

n°1506814
hamoudasaf​ira1
Posté le 24-01-2007 à 15:35:15  profilanswer
 

merci les gars pour vos aides je l'apprecie vraiment j'ai trouver qlq au labo qui m'a passer un coup de main et voilà la résultat si qlq d'entre vous pourra s'enservir peut être!!!

Code :
  1. for(int i=0;i<10;i++)//n nombre d'étape
  2.  {
  3.  double DeltaLambda=0,Z,He;
  4.  vtkIdType ii,jj;
  5.  double Vi[3],Vj[3],Ne[3];
  6.  TableEdgeNormal=new double* [this->Input->GetNumberOfEdges()];
  7.  TableMeanCurvature=new double[this->Input->GetNumberOfEdges()];
  8.   for (int e=0; e<this->Input->GetNumberOfEdges(); e++)
  9.    {
  10.     //TableMeanCurvature[e]=new double[3];//allocation du tableau
  11.     TableEdgeNormal[e]=new double[3];//allocation du tableau
  12.     this->Input->GetEdgeVertices(e,ii,jj);//pour obtenir la barêtte esj
  13.     //calcul du norme ||N1+N2||
  14.     Input->GetPointCoordinates(ii,Vi);
  15.     Input->GetPointCoordinates(jj,Vj);
  16.     vtkMath::Norm(Vj);
  17.     vtkMath::Norm(Vi);
  18.     Ne[0]=Vi[0]+Vj[0];
  19.     Ne[1]=Vi[1]+Vj[1];
  20.     Ne[2]=Vi[2]+Vj[2];//additionner les 2 vecteurs
  21.     double norme=vtkMath::Norm(Ne);
  22.     Ne[0]/=norme;
  23.     Ne[1]/=norme;
  24.     Ne[2]/=norme;
  25.     Z=vtkMath::Dot(Vi,Vj);//produit entre 2 vecteurs[3] le résultat dans Z cosOe=Ne.Vi
  26.     double Tetta=cos(acos(Z)/2.0);
  27.     He=2*(double)(this->Input->GetDistanceBetweenVertices(ii,jj))*Tetta;
  28.     cout<<"Normal de l'arret"<<Ne[0]<<Ne[1]<<Ne[2]<<"\n"<<"Courbure Moyen de l'arret"<<He<<"\n"<<"L'angle Tetta"<<Tetta;
  29.     TableEdgeNormal[e][0]=Ne[0];
  30.     TableEdgeNormal[e][1]=Ne[1];
  31.     TableEdgeNormal[e][2]=Ne[2];
  32.     TableMeanCurvature[e]=He;
  33.    }

n°1506847
stabia
Posté le 24-01-2007 à 16:54:30  profilanswer
 

Monsieur le Professeur (de quoi ?) Joel T j'ai compté 13 fautes de syntaxe ou d'orthographe dans votre première intervention, alors avant de vouloir imposer telle ou telle norme de presentation et d'analyse, commencez par écrire correctement le Français ; l'absence de rigueur linguistique - par exemple l'usage abusif de l'anglais - est sympthomatique d'une aculturation.

n°1506872
Joel F
Real men use unique_ptr
Posté le 24-01-2007 à 17:25:56  profilanswer
 

stabia a écrit :

Monsieur le Professeur (de quoi ?) Joel T j'ai compté 13 fautes de syntaxe ou d'orthographe dans votre première intervention, alors avant de vouloir imposer telle ou telle norme de presentation et d'analyse, commencez par écrire correctement le Français ; l'absence de rigueur linguistique - par exemple l'usage abusif de l'anglais - est sympthomatique d'une aculturation.


 
on se connait  :heink:
Ensuite, bon, l'usage "abusif" de l'anglais, hein, ca s'appelle des termes techniques :o
 
En suite F != T ;)


Message édité par Joel F le 24-01-2007 à 17:27:21
n°1506882
stabia
Posté le 24-01-2007 à 17:51:59  profilanswer
 

Je suppose que nous ne nous connaissons pas, quand à l'usage - abusif- de l'anglais cela n'a rien à voir avec la technique mais avec l'esprit de soumission, désolé d'être si cru.

n°1506894
Joel F
Real men use unique_ptr
Posté le 24-01-2007 à 18:21:19  profilanswer
 

allez merci et au revoir ;) :lol:

n°1506905
0x90
Posté le 24-01-2007 à 18:42:17  profilanswer
 

stabia a écrit :

Monsieur le Professeur (de quoi ?) Joel T j'ai compté 13 fautes de syntaxe ou d'orthographe dans votre première intervention, alors avant de vouloir imposer telle ou telle norme de presentation et d'analyse, commencez par écrire correctement le Français ; l'absence de rigueur linguistique - par exemple l'usage abusif de l'anglais - est sympthomatique d'une aculturation.


 
Essayez avec cette orthographe : acculturation


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1506910
Joel F
Real men use unique_ptr
Posté le 24-01-2007 à 19:14:25  profilanswer
 

Bon finito les blagues. le posteur initial à sa solution, je suis une quiche en orthographe, voial fin du film :o

n°1506930
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-01-2007 à 20:21:57  profilanswer
 

stabia a écrit :

Monsieur le Professeur (de quoi ?) Joel T j'ai compté 13 fautes de syntaxe ou d'orthographe dans votre première intervention, alors avant de vouloir imposer telle ou telle norme de presentation et d'analyse, commencez par écrire correctement le Français ; l'absence de rigueur linguistique - par exemple l'usage abusif de l'anglais - est sympthomatique d'une aculturation.


moi j'en compte 3 dans ce post, auxquelles s'ajoute un sens certain de la lecture en biais


Message édité par Harkonnen le 24-01-2007 à 20:22:29

---------------
J'ai un string dans l'array (Paris Hilton)
n°1507014
ElDesdicha​do
Posté le 25-01-2007 à 09:38:58  profilanswer
 

Exact la pire étant sans aucun doute le magnifique sympthomatique (quelle horreur). De surcroît, l'usage abusif (ou non) de l'anglais, inhérent à la pratique de l'informatique (de la culture informatique) ne saurait être une acculturation sinon une assimilation.


Message édité par ElDesdichado le 25-01-2007 à 09:39:19
n°1507022
Ace17
Posté le 25-01-2007 à 09:54:10  profilanswer
 

Je pense que sur le fond, Stabia a raison. Mais la ou Stabia se trompe, c'est sur ce qui est abusif ou non. J'ai beau relire les posts de Joel F, il n'y a rien que "d'abusif", ou alors, il faut commencer a traduire les mots clef des langages de programmation, comme "return" "friend" "template", et trouver des equivalents francais pour "inlining", et "pointeur this" ... et les faire accepter par tout le monde ... Stabia, ta reflexion ressemble a celle de quelqu'un qui n'aurait jamais fait de programmation ...
 
Et je remercie Joel F d'avoir fait la remarque sur l'expression de hamoudasafira1 (qu'il faut excuser car le francais n'est manifestement pas sa langue maternelle) dont les messages demandent a etre lus 3 fois avant de les comprendre ...  

n°1507277
Sve@r
Posté le 25-01-2007 à 21:54:31  profilanswer
 

stabia a écrit :

Monsieur le Professeur Joel T j'ai compté 13 fautes de syntaxe ou d'orthographe dans votre première intervention...


 
Pfff... moi je n'en compte que 9 mais je n'ai jamais été très fort au jeu des 13 erreurs. Si qqun peut faire mieux...  :sol:


Message édité par Sve@r le 25-01-2007 à 22:13:28

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1508005
stabia
Posté le 28-01-2007 à 18:29:53  profilanswer
 

Je vois avec plaisir, qu’au moins le débat sur « l’inévitable anglais »  pourrait renaître, d’ailleurs plusieurs jugements viennent d’êtres rendus en ce sens.
 
Le « c » suivant un « a » privatif s’il est généralement redoublé ne l’est pas toujours, par exemple « acalculie », « acinétique », « acaule », « acarpe »,  « aclinique » ou encore « acompte », il est vrai que le mot « acculture » s’écrit généralement –et normativement ! – avec les deux « c » de façon à induire une prononciation faisant ressortir le « a » ; cependant c’est un néologisme sartrien et je commets souvent cette faute d’un seul « c » parce Sartre y voyait un phénomène de substitution alors que je pense, en ce qui concerne les informaticiens (et de nombre de jeunes gens ayant étudié des disciplines techno-scientifiques), qu’il s’agit bien d’une perte de culture, avec comme corollaire une perte de « densité » humaine. La plupart des professeurs de ces disciplines sont aujourd’hui conscients de ce problème et certains sont même atterrés des insuffisances qu’ils découvrent chez leurs élèves (cf. l’appel de l’IUT de Grenoble).
Et oui, j’ai oublié un accent et ajouté un « h » à un mot d’origine grecque , c’est lamentable, néanmoins je vous prie de me le pardonner.
 
Je vis de la programmation depuis 1984, j’ai programmé en une douzaine de langages sous une petite dizaine de systèmes d’exploitation, est-ce le cas de beaucoup d’entre vous ?
 
Ma réaction initiale provenait du caractère un peu agressif du message en cause ; un professeur se doit, à défaut d’être parfait, au moins de montrer l’exemple de la rigueur.

n°1508016
0x90
Posté le 28-01-2007 à 19:01:36  profilanswer
 

stabia a écrit :

Je vois avec plaisir, qu’au moins le débat sur « l’inévitable anglais »  pourrait renaître, d’ailleurs plusieurs jugements viennent d’êtres rendus en ce sens.
 
Le « c » suivant un « a » privatif s’il est généralement redoublé ne l’est pas toujours, par exemple « acalculie », « acinétique », « acaule », « acarpe »,  « aclinique » ou encore « acompte », il est vrai que le mot « acculture » s’écrit généralement –et normativement ! – avec les deux « c » de façon à induire une prononciation faisant ressortir le « a » ; cependant c’est un néologisme sartrien et je commets souvent cette faute d’un seul « c » parce Sartre y voyait un phénomène de substitution alors que je pense, en ce qui concerne les informaticiens (et de nombre de jeunes gens ayant étudié des disciplines techno-scientifiques), qu’il s’agit bien d’une perte de culture, avec comme corollaire une perte de « densité » humaine. La plupart des professeurs de ces disciplines sont aujourd’hui conscients de ce problème et certains sont même atterrés des insuffisances qu’ils découvrent chez leurs élèves (cf. l’appel de l’IUT de Grenoble).
Et oui, j’ai oublié un accent et ajouté un « h » à un mot d’origine grecque , c’est lamentable, néanmoins je vous prie de me le pardonner.
 
Je vis de la programmation depuis 1984, j’ai programmé en une douzaine de langages sous une petite dizaine de systèmes d’exploitation, est-ce le cas de beaucoup d’entre vous ?
 
Ma réaction initiale provenait du caractère un peu agressif du message en cause ; un professeur se doit, à défaut d’être parfait, au moins de montrer l’exemple de la rigueur.


 
On utilise des mots anglais pour désigner des choses et des concepts qui n'existaient pas avant contact avec ceux-ci. Ou est la culture que l'on perds en ne nommant pas ceux-ci en français alors que les termes français sont créés à posteriori ?
 
Par contre sur le fait que les étudiants en info sont pour une bonne partie très mauvais en français, j'irais pas dire le contraire, y'a cependant  un peu de prise de conscience du problème, j'ai eu cette année en L3 des "cours d'expression" pour qu'on revoie les bases, les profs en ont assez de s'arracher les yeux sur les thèses, contrôles, etc...
 
Mais c'est pas le même problème, à part quelque cas isolés (dimentions/dimensions par exemple), les anglicismes n'influent pas vraiment sur les capacités en français. Je doute que le fait de dire "pointeur this" soit corrélé avec l'incapacité d'accorder ou de conjuguer.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  calcul du normal d'un triangle en c++

 

Sujets relatifs
Calcul et refresh juste aprescalcul de teinte
Calcul des codes barre EANVBA : calcul d'intégrale
pb de calcul dans une requette ACCESSCalcul de prix avec Access + VB
Pb de selection d'un tri dans une feuille de calcul[Excel VBA] Macro qui se lance à chaque calcul
Triangle isoceleConseils pour serveur calcul maths en C
Plus de sujets relatifs à : calcul du normal d'un triangle en c++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR