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

JavaScript Discussion :

Tracer 2 droites formant un angle compris entre 10 et 180°


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2022
    Messages : 46
    Par défaut Tracer 2 droites formant un angle compris entre 10 et 180°
    Bonjour à toutes et à tous,

    Pour entraîner mes élèves à utiliser le rapporteur et mesurer des angles, j'essaie de développer un programme js me permettant de tracer 2 droites formant un angle de mesure aléatoire.
    Voici mon code :
    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
    function mesureangle(a) {
      let x1 = 0;
      let y1 = 0;
      let length1 = 200;
     
       let angle1 = Math.floor(Math.random() * 181) + 180;
      let angle2 = angle1 + Math.floor(Math.random() * 181);
     
      // Convertir les angles en radians
      let angleRad1 = (angle1 * Math.PI) / 180;
      let angleRad2 = (angle2 * Math.PI) / 180;
     
      // Calculer les coordonnées de la première ligne
      let x2 = x1 + length1 * Math.cos(angleRad1);
      let y2 = y1 + length1 * Math.sin(angleRad1);
     
       let x3 = x1 + length1 * Math.cos(angleRad2);
      let y3 = y1 + length1 * Math.sin(angleRad2);
     
      let canvas = document.querySelector('.' + a);
      let ctx = canvas.getContext("2d");
     
      ctx.beginPath();
      ctx.moveTo(x1, y1);
      ctx.lineTo(x2, y2);
      ctx.stroke();
     
      ctx.beginPath();
      ctx.moveTo(x1, y1);
      ctx.lineTo(x3, y3);
      ctx.stroke();
    }
    Mais je suis face à un problème, cette fonction me trace TOUJOURS un angle droit...
    Pouvez-vous m'aider s'il vous plait !!

  2. #2
    Membre émérite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 436
    Par défaut
    Bonjour,

    Il faudrait avoir un exemple complet (avec le code html et le reste du code js) pour essayer de reproduire ton problème, si possible via une page en ligne ou via un site tel que codepen/jsfiddle.

    En faisant un test simple de ton code, l'angle semble être bien aléatoire : https://jsfiddle.net/xaLd1p4s/

  3. #3
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Après, chez moi ça fonctionne avec ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function dix180(){
         let nb=0;
         while (nb<10){
            nb=Math.round(Math.random()*180);
         }
         return nb
    } 
     
    let angle1 = dix180();
    let angle2 = angle1 + dix180(); 
     
     console.log(angle2-angle1);

    https://jsfiddle.net/b5o2rqch/

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

Discussions similaires

  1. toutes les combinaisons possible formant une valeur compris entre 2
    Par FATENMRABET dans le forum Général Python
    Réponses: 4
    Dernier message: 23/08/2020, 18h09
  2. Réponses: 4
    Dernier message: 17/04/2019, 17h22
  3. Réponses: 1
    Dernier message: 16/04/2019, 19h06
  4. Obtenir des enregistrements compris entre 2 dates
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 29/09/2005, 13h56
  5. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09

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