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

VB.NET Discussion :

Probleme fonction cosinus et sinus


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut Probleme fonction cosinus et sinus
    Premierement bonjour à tous !

    Aprés beaucoup de recherche par moi meme puis sur internet, je ne trouve pas de solution à mon probleme...
    Je travaille sur visual basic express 2010 et les fonction cosinus et sinus ne marche pas :s

    Pour résumer j'ai 2 textbox : textbox.1 correspond a un effort en Newton
    textbox.2 correspond a un angle en dégrés

    un button1 pour l'événement du calcul

    ainsi que 2 labels pour obtenir les résultats suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           label1.text =  val(textbox1.text) * math.cos(val(textbox2.text)
           label2.text =  val(textbox1.text) * math.sin(val(textbox2.text)
    pour exemple avec un effort de 19000 N et un angle de 38°
    j'obtient les résultat suivant :

    label1= 18146 N (alors que le résultat sur ma calculette est de 14972N)
    label2= 5631 N (alors que le résultat sur ma calculette est de 11697N)

    Je me suis donc dis que j'allais passer par le radian en rajoutant un label3 pour obtenir le radian :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label3.text= val(textbox2.text) / 360 * 2 * math.pi
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    label1.text =  val(textbox1.text) * math.cos(((val(label3.text)*360)/math.PI)/2)
    label2.text =  val(textbox1.text) * math.sin(((val(label3.text)*360)/math.PI)/2)
    et là pareil j'obtiens les meme valeurs faussés, je suis coincé pour un calcul important...
    Je ne comprend pas pourquoi visual basic express 2010 ne sais pas calculer un calcul de base :-(

    Si une personne serai résoudre le probleme j'en serai trés reconnaissant ;-)
    Merci a vous

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par jeremyvb11 Voir le message
    Je ne comprend pas pourquoi visual basic express 2010 ne sais pas calculer un calcul de base :-(
    Je te trouve un peu présomptueux de supposer que c'est VB.NET qui a un problème... tu as envisagé la possibilité que c'est peut-être (même sûrement) toi qui t'es trompé ?

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Un cercle, chez moi ça fait 2π, et pas π/2

    Du coup ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
            static void Main(string[] args)
            {
                double effort = 19000d;
                double angle = (38d / 360d) * (Math.PI * 2d);
     
                Console.WriteLine(Math.Cos(angle) * effort);
                Console.ReadKey();
            }
    Et miracle, ça marche

    14972,2043185277

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Après, si vraiment tu veux jouer avec Pi/2, tu peux toujours faire ça...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                double angle2 = (38d / 90d) * (Math.PI / 2d);
                Console.WriteLine(Math.Cos(angle2) * effort);

  5. #5
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut
    Merci à tous ! j'avais un / a la place d'un * sa ne risquais pas de marcher...
    Parfois on est tellement concentré dans le calcul qu'on en perd les notions de base...
    Merci à tous mon pb est résolu

  6. #6
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut
    Je me permet d'ajouter un autre probleme auquel je ne trouve pas de solution,
    a l'aide d'un bouton "effacer" j'aimerai "vider" l'ensemble de ma form qui contient essentiellement des labels, combobox et textbox

    Donc pour les labels pas de soucis j'utilise pour les textbox j'utilise mais pour les combobox qui contiennent des infos je n'arrive pas à la remettre à "zero" pour que l'utilisateur vienne rechoisir la valeur..

    j'ai essayer ceci sans succés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    combobox1.text= ""
    combobox1.clear()
    la solution combobox1.item.clear ne me convient pas puisquelle m'efface les infos dedans...

    Savez comment faire ??

    Merci beaucoup

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Par défaut
    Citation Envoyé par jeremyvb11
    Je me suis donc dis que j'allais passer par le radian en rajoutant un label3 pour obtenir le radian :
    En effet c'est une bonne idée, surtout si on lit la documentation de Math.Cos.

    Le truc, c'est que certe tu fais une conversion dans le label3, mais après tu fais la conversion inverse lors de l'appel à Math.Cos.
    Résultat peut importe en quoi tu convertie, tu passe toujours des degrés à Math.Cos.

    J'ajouterai que la conversion de degré vers radian est là suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    radian = degré * Pi /180

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSL]Probleme fonction recursive
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 12/12/2005, 16h10
  2. [Mail] Probleme fonction mail()
    Par tissot dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2005, 13h55
  3. problème fonctions callback
    Par youp_db dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 02/10/2005, 15h47
  4. probleme fonction gethostbyname
    Par oclone dans le forum Développement
    Réponses: 6
    Dernier message: 14/04/2005, 11h31
  5. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 10h52

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