IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Probl�me de calcul de volume d'un t�tra�dre irr�gulier


Sujet :

C++

  1. #1
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 98
    Par d�faut Probl�me de calcul de volume d'un t�tra�dre irr�gulier
    Bonjour,
    je voudrais qu'on m'aide � calculer le volume de t�tra�dres irr�guliers.
    actuellement j'utilise la formule
    V=(A*H)/3.
    V->volume
    A->Aire
    H->hauteur
    Actuellement j'arrive � calculer le volume d'un t�tra�dre irr�gulier avec la formule en 3D, le probl�me est que plus j'ai des t�tra�dres plus le calcul du volume est faux.
    voici la fonction que j'utilise actuellement pour le calcul:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    double Tetraedre::Volume(Vertex _point)
    {
    	double aire_base;
    	double hauteur;
    	double norme;
     
    	Vecteur v1;
    	Vecteur v2;
    	Vecteur v3;
     
    	v1.setCoordx(this->getpVertex(1).getCoordx() - this->getpVertex(0).getCoordx());
    	v1.setCoordy(this->getpVertex(1).getCoordy() - this->getpVertex(0).getCoordy());
    	v1.setCoordz(this->getpVertex(1).getCoordz() - this->getpVertex(0).getCoordz());
    	v2.setCoordx(this->getpVertex(2).getCoordx() - this->getpVertex(0).getCoordx());
    	v2.setCoordy(this->getpVertex(2).getCoordy() - this->getpVertex(0).getCoordy());
    	v2.setCoordz(this->getpVertex(2).getCoordz() - this->getpVertex(0).getCoordz());
     
    	v3 = v2 ^ v1;
    	norme = (double) sqrt(v3.getCoordx()*v3.getCoordx() + 
    							v3.getCoordy()*v3.getCoordy() + 
    							v3.getCoordz()*v3.getCoordz());
     
    	aire_base = norme / 2;
     
    	v1 = this->normale;
    	v2.setCoordx(_point.getCoordx() - this->getpVertex(0).getCoordx());
    	v2.setCoordy(_point.getCoordy() - this->getpVertex(0).getCoordy());
    	v2.setCoordz(_point.getCoordz() - this->getpVertex(0).getCoordz());
     
    	hauteur = v2 % v1;
    	hauteur = fabs(hauteur);
     
    	return 0.3333 * aire_base * hauteur;
     
    }
    Merci

  2. #2
    Mod�rateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Ao�t 2006
    Messages
    4 097
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activit� : R&D - Palefrenier programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 4 097
    Par d�faut
    Je ne sais trop mais une chose qui me perturbe est :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    return 0.3333 * aire_base * hauteur;
    J'imagine que le 0.3333 c'est 1/3 ... donc pourquoi ne pas faire plutot :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    return (aire_base * hauteur)/3;
    Car si tu as une petite erreur pour un calcule et que comme tu dis tu en fais beaucoup, tu auras un erreur de plus en plus grosse du a l'impr�cision du 0.3333
    (Les "�a ne marche pas", m�me �crits sans faute(s), vous porteront discr�dit ad vitam �ternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 98
    Par d�faut
    je suis parfaitement d'accord avec toi , car je commence a le sentir dans mes pr�sents calculs qui sont de grandes tailles et merci.

Discussions similaires

  1. Probl�me de calcule en SQL !
    Par FilipeVV dans le forum Langage SQL
    R�ponses: 3
    Dernier message: 02/09/2005, 11h45
  2. Probl�me de calcul matricielle
    Par Clad3 dans le forum Algorithmes et structures de donn�es
    R�ponses: 21
    Dernier message: 29/06/2005, 21h45
  3. probl�me de calcul des normales par sommet
    Par captainSeb dans le forum OpenGL
    R�ponses: 2
    Dernier message: 21/01/2005, 13h42
  4. [Calendar]Probl�me de calcul de date
    Par valerie90 dans le forum Collection et Stream
    R�ponses: 6
    Dernier message: 08/12/2004, 12h13
  5. Probl�me de calcul unix_timestamp
    Par petit_stagiaire dans le forum Administration
    R�ponses: 2
    Dernier message: 28/04/2004, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo