EagleUnderscoreOne
Messages postés30Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention24 avril 2009
-
14 juin 2008 à 17:26
usef01
Messages postés3Date d'inscriptionmardi 3 juin 2008StatutMembreDernière intervention14 juin 2008
-
14 juin 2008 à 23:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
usef01
Messages postés3Date d'inscriptionmardi 3 juin 2008StatutMembreDernière intervention14 juin 2008 14 juin 2008 à 23:56
j'ai rajouté ces conditions afin d'éviter des résultats du genre 2.386...E-16 qui peuvent créer des confusions chez certains utilisateurs inexpérimentés.
Nightman150
Messages postés30Date d'inscriptionvendredi 17 mai 2002StatutMembreDernière intervention14 juin 2008 14 juin 2008 à 23:07
ça serait mieux si tu mettait qques commentaires dans ton code (javadoc + commentaires avant les blocs de code).
Le commentaire servira à mieux faire comprendre ce que ton code fait. Et ça te sert quand tu veux reprendre ton
code un jour.
EagleUnderscoreOne
Messages postés30Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention24 avril 2009 14 juin 2008 à 17:26
Salut, je ne me souviens plus des détails de la méthode de Cardan, mais il y a quelque chose qui m'inquiète un peu dans ton code, ce sont ces lignes :
# if (x>-1E-6 && x< 1E-6) x=0.0;
# if (y>-1E-6 && y< 1E-6) y=0.0;
# if (z>-1E-6 && z< 1E-6) z=0.0;
Pourrais-tu nous en dire un peu plus? Si le but est d'obtenir un résultat propre lissé des erreurs numériques dans les cas particuliers où x,y ou z devraient être nuls, alors je trouve ça dommage puisque ces erreurs se trouvent dans tous les calculs et pourquoi les lisser artificiellement dans ces cas précis? De plus, il se peut très bien que le résultat exact soit inférieur à 10^-6 et alors tu crées toi même une erreur énorme.
Je ne sais pas si c'était ton raisonnement, voilà pourquoi j'aimerais que tu en dises un peu plus, peut être à l'aide de quelques commentaires?
14 juin 2008 à 23:56
14 juin 2008 à 23:07
Le commentaire servira à mieux faire comprendre ce que ton code fait. Et ça te sert quand tu veux reprendre ton
code un jour.
14 juin 2008 à 17:26
# if (x>-1E-6 && x< 1E-6) x=0.0;
# if (y>-1E-6 && y< 1E-6) y=0.0;
# if (z>-1E-6 && z< 1E-6) z=0.0;
Pourrais-tu nous en dire un peu plus? Si le but est d'obtenir un résultat propre lissé des erreurs numériques dans les cas particuliers où x,y ou z devraient être nuls, alors je trouve ça dommage puisque ces erreurs se trouvent dans tous les calculs et pourquoi les lisser artificiellement dans ces cas précis? De plus, il se peut très bien que le résultat exact soit inférieur à 10^-6 et alors tu crées toi même une erreur énorme.
Je ne sais pas si c'était ton raisonnement, voilà pourquoi j'aimerais que tu en dises un peu plus, peut être à l'aide de quelques commentaires?