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

Programmation multimédia/Jeux Python Discussion :

Programme pour dessiner un polygone étoilé


Sujet :

Programmation multimédia/Jeux Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Par défaut Programme pour dessiner un polygone étoilé
    Bonjour à tous,

    J'essaie d'élaborer un programme afin de dessiner un polygone étoilé.
    L'intitulé de l'exercice est:

    "Les sommets d'un polygone régulier, qu'il soit convexe ou étoilé, sont tous situés sur un cercle. Dans le dessin d'un polygone convexe, ces sommets sont parcourus dans l'ordre où ils se trouvent sur le cercle.

    Mais si au lieu de les parcourir consécutivement, on les parcourt de deux en deux ou de trois en trois, plus généralement de k en k , on obtient des polygones étoilés."

    J'ai donc élaboré cette fonction:

    (J'utilise le module Turtle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def polygone_etoile(n,l,k):
        """
        """
        speed(0)
        ANGLE_MAX=360
        for i in range(n):
            forward(l)
     
            left((ANGLE_MAX/n)*k)
    Lorsqu'on l'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >>> polygone_etoile(10,150,3)
    On est censé obtenir le figuré suivant d'après l'exercice:

    Nom : poly.PNG
Affichages : 5049
Taille : 17,2 Ko

    Le problème c'est que le figuré que j'obtiens est décalé contrairement à ceux de l'exercice :/
    Ainsi je pense m'être trompé dans mon programme, mais je ne sais pas comment m'y prendre pour qu'il corresponde parfaitement aux attentes de l'exercice.

    Quelqu'un aurait-il l'amabilité et la patience pour m'aider? Merci infiniment d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Salut,

    Citation Envoyé par shurkan Voir le message
    Le problème c'est que le figuré que j'obtiens est décalé contrairement à ceux de l'exercice :/
    Vous entendez quoi par "décalé"?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Par défaut
    Bonsoir Wiztricks,

    En fait j'entends par "décalé" le fait que j'obtiens cela après exécution du programme:

    Nom : déccalé.PNG
Affichages : 3025
Taille : 4,3 Ko

    Alors que je dois obtenir:

    Nom : décallé2.PNG
Affichages : 2783
Taille : 6,8 Ko

    Du fait de ce décalage, j'ai l'impression que mon programme est défectueux, je ne sais pas trouver l'origine de cette erreur :/

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Citation Envoyé par shurkan Voir le message
    Du fait de ce décalage, j'ai l'impression que mon programme est défectueux, je ne sais pas trouver l'origine de cette erreur :/
    Ce décalage la s'appelle une rotation et est du à la direction initiale de votre tortue. qui peut être modifiée par setheading(valeur). Pour trouver "valeur", c'est de la géométrie, il faut prendre un papier/crayon visualiser les premiers déplacements de la tortue et voir ce que peut bien être "valeur" en fonction de (k, n).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Par défaut
    Oui, tout à fait, c'est bien ce que je pensais. Merci beaucoup d'avoir pris le temps de me répondre Wiztricks. Je vais essayer de cogiter, je vous tiens au courant.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Ce décalage la s'appelle une rotation et est du à la direction initiale de votre tortue. qui peut être modifiée par setheading(valeur). Pour trouver "valeur", c'est de la géométrie, il faut prendre un papier/crayon visualiser les premiers déplacements de la tortue et voir ce que peut bien être "valeur" en fonction de (k, n).

    - W
    Au final je dois réussir à faire l'exercice en utilisant seulement ces fonctions :

    Nom : fonction.PNG
Affichages : 2505
Taille : 3,9 Ko

    J'ai réfléchis ces derniers jours mais j'ai du mal à comprendre comment procéder pour ce programme. J'ai juste pu remarquer que comme tu le disais, lorsque je trace le dessin, le premier trait est plat, alors que dans la figure du prof, le trait est légèrement incliné (il a un angle de départ). Je ne sais pas comment faire pour avoir cet angle de départ... (cet angle doit être généralisé pour toute valeur de n, l et k sachant que pour n=5 et k=1, il n'y a pas d'angle de départ. Je dois rendre mon TP demain, je suis donc dans une impasse :/
    Merci infiniment de prendre le temps de me répondre.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Citation Envoyé par shurkan Voir le message
    Je ne sais pas comment faire pour avoir cet angle de départ... (cet angle doit être généralisé pour toute valeur de n, l et k sachant que pour n=5 et k=1, il n'y a pas d'angle de départ.
    Certes mais ce n'est pas un problème Python mais un sujet de géométrie où le plus important ne sera pas le résultat (un code qui fonctionne) mais comment calculer cet angle. D'autant qu'en cherchant un peu sur Internet, vous pourriez trouver des explications (sur la géométrie).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [HTML 5] [NVU] = dessiner des polygones sur une image pour le programmer
    Par Konex dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/02/2018, 16h46
  2. openlayers - icônes, imagettes pour dessins polygones, nagivation qui disparaissent en cliquant dessus
    Par pierrick76 dans le forum SIG : Système d'information Géographique
    Réponses: 1
    Dernier message: 26/01/2013, 20h21
  3. quel programme pour dessiner un graphe a partir de données
    Par Tex-Twil dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/12/2007, 12h47
  4. Réponses: 10
    Dernier message: 31/01/2006, 11h36
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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