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 :

Intersection entre 2 cercles


Sujet :

JavaScript

  1. #21
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Disons que j'ai essayé de te faire comprendre pourquoi le code dans ta réponse :

    Citation Envoyé par kingja Voir le message
    Donc si j'ai bien compris les deux cas false se résumerait comme ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (d > (r0 + r1)) {
            /* no solution. circles do not intersect. */
            return false;
        }
        if (d < Math.abs(r0 - r1)) {
            /* no solution. one circle is contained in the other */
            return false;
        }
    est correct …
    Les deux cas false c'est bien ça et sinon c'est le cas true.

  2. #22
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 27
    Par défaut
    D'accord si j'ai bien compris le cas de true comme condition serait ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If (d = 0 && r0 = r1)
    {
    return true;
    }

  3. #23
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    Il n'y a pas de "cas true" ou plutôt c'est quand les autres conditions, qui testent les cas où les cercles ne se touchent pas, ont échoué qu'il faut renvoyer true. Il suffit d'ajouter return true à la fin de ta fonction.

  4. #24
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Il faut faire un minimum d'effort de compréhension et ne pas attendre que ça vienne tout cuit dans la bouche, tu as l'algo depuis au moins ce message :

    Citation Envoyé par WhiteCrow Voir le message
    D'autant plus que s'il ne s'agit que de renvoyer true ou false suivant qu'il y ait ou non une intersection c'est simple :

    • cas 1 : un cercle dans l'autre → si distance entre les centres + le plus petit rayon < plus grand rayon → renvoyer false
    • cas 2 : cercles disjoints et extérieurs l'un à l'autre → si distance entre les centre > somme rayons → renvoyer false
    • cas 3 : cercles non disjoints → dans tous les autres cas → renvoyer true


    Il suffit de faire un dessin.
    L'algo en pseudo code donnerait (en reprenant le tric de la valeur absolue) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    si ( d < abs(r0-r1) ) ou ( d > r0+r1 ) alors
        renvoyer false
    sinon
        renvoyer true
    ou alors en une ligne renvoyer (d>=abs(r0-r1)) et (d<=r0+r1))

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 27
    Par défaut
    D'accord mais justement c'est pour ça que je pose des questions pour mieux comprendre.
    Merci d'avoir pris ton temps de m'expliquer je vais m'appliquer pour mieux comprendre les notions de maths

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Intersection entre segment et cercle
    Par chadliii dans le forum Mathématiques
    Réponses: 15
    Dernier message: 03/10/2019, 18h52
  2. Calcul des surfaces d'intersections entre les cercles
    Par Midou45 dans le forum Mathématiques
    Réponses: 6
    Dernier message: 14/03/2012, 10h21
  3. Intersection entre droite et un plan
    Par Dark-Water dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 24/03/2009, 17h47
  4. Intersection entre 1 droite et un parallélépipède rectangle
    Par mathieu_t dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 25/05/2005, 18h29
  5. Intersection entre 2 triangles?? (3D)
    Par supergrey dans le forum DirectX
    Réponses: 1
    Dernier message: 25/08/2004, 09h22

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