calcul du normal d'un triangle en c++

calcul du normal d'un triangle en c++ - C++ - Programmation

Marsh Posté le 22-01-2007 à 18:35:44    

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.

Reply

Marsh Posté le 22-01-2007 à 18:35:44   

Reply

Marsh Posté le 22-01-2007 à 22:13:00    

Imbitable.
 
Edite, corrige, et on verra.


---------------
Töp of the plöp
Reply

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

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

Reply

Marsh Posté le 23-01-2007 à 09:25:28    

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.

Reply

Marsh Posté le 23-01-2007 à 09:42:56    

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

Reply

Marsh Posté le 23-01-2007 à 09:48:48    

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

Reply

Marsh Posté le 23-01-2007 à 10:38:12    

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
Reply

Marsh Posté le 23-01-2007 à 10:47:34    

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

Reply

Marsh Posté le 23-01-2007 à 12:28:38    

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 ...

Reply

Marsh Posté le 23-01-2007 à 13:23:47    

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 ?

Reply

Marsh Posté le 23-01-2007 à 13:23:47   

Reply

Marsh Posté le 23-01-2007 à 13:28:16    

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


---------------
BarrePoint.org : News pour techno-geeks.
Reply

Marsh Posté le 23-01-2007 à 13:46:01    

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????

Reply

Marsh Posté le 23-01-2007 à 14:44:06    

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
Reply

Marsh Posté le 23-01-2007 à 15:33:16    

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

Reply

Marsh Posté le 23-01-2007 à 16:01:00    

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.
Reply

Marsh Posté le 23-01-2007 à 16:28:03    

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???

Reply

Marsh Posté le 23-01-2007 à 16:50:47    

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 ?

Reply

Marsh Posté le 23-01-2007 à 17:00:08    

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.
Reply

Marsh Posté le 23-01-2007 à 17:52:40    

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

Reply

Marsh Posté le 23-01-2007 à 18:56:54    

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
Reply

Marsh Posté le 23-01-2007 à 19:21:23    

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];


Reply

Marsh Posté le 23-01-2007 à 21:13:47    

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 ;)

Reply

Marsh Posté le 23-01-2007 à 21:34:21    

pourquoi c'est mieux de faire ainsi ?

Reply

Marsh Posté le 23-01-2007 à 23:04:22    

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.

Reply

Marsh Posté le 23-01-2007 à 23:07:53    

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 :)

Reply

Marsh Posté le 23-01-2007 à 23:09:55    

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 ;)

Reply

Marsh Posté le 23-01-2007 à 23:42:29    

Merci pour les petites explications ;)

Reply

Marsh Posté le 24-01-2007 à 15:35:15    

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.    }

Reply

Marsh Posté le 24-01-2007 à 16:54:30    

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.

Reply

Marsh Posté le 24-01-2007 à 17:25:56    

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
Reply

Marsh Posté le 24-01-2007 à 17:51:59    

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.

Reply

Marsh Posté le 24-01-2007 à 18:21:19    

allez merci et au revoir ;) :lol:

Reply

Marsh Posté le 24-01-2007 à 18:42:17    

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.
Reply

Marsh Posté le 24-01-2007 à 19:14:25    

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

Reply

Marsh Posté le 24-01-2007 à 20:21:57    

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)
Reply

Marsh Posté le 25-01-2007 à 09:38:58    

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
Reply

Marsh Posté le 25-01-2007 à 09:54:10    

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 ...  

Reply

Marsh Posté le 25-01-2007 à 21:54:31    

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.
Reply

Marsh Posté le 28-01-2007 à 18:29:53    

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.

Reply

Marsh Posté le 28-01-2007 à 19:01:36    

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.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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