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

Python Discussion :

La tortue, 2 triangles et une étoile


Sujet :

Python

  1. #1
    Membre régulier Avatar de RowanMayfair
    Femme Profil pro
    Développeuse Freelance
    Inscrit en
    Mars 2019
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeuse Freelance

    Informations forums :
    Inscription : Mars 2019
    Messages : 247
    Points : 89
    Points
    89
    Par défaut La tortue, 2 triangles et une étoile
    Bonjour

    Je viens (encore) vous solliciter pour un petit problème.

    Il faut, avec turtle, définir une fonction qui dessinera une étoile à 6 branches, avec 2 triangles équilatéraux (avec une fonction triangle qui a été précédemment définie). Bien sûr, on doit pouvoir modifier l'angle de l'étoile.

    Au bout d'une heure à "m'amuser" avec la tortue, j'ai ça :
    le triangle équilatéral :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def triangle(taille,couleur,angle):
        "Fonction qui dessine un triangle équilatéral de taille, couleur et avec un angle déterminés"
        color(couleur)
        right(angle)
        c=0
        while(c<3):
            forward(taille)
            right(120)
            c=c+1
    l'étoile à 6 branches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def etoile6(taille,couleur,angle):
        triangle(taille,couleur,angle)
        up()
        right(90)
        forward(taille*3/5)
        left(90)
        forward(taille)
        down()
        triangle(taille,couleur,angle+180)
    Sauf que l'étoile fonctionne uniquement avec un angle à 0.
    Dès que je mets un autre angle, ça ne fonctionne plus, ce n'est plus une étoile.

    Il me semble qu'avant d'avoir un problème avec Turtle, j'ai déjà un problème de maths.
    Il y a certainement une règle mathématique qui permet de savoir où démarrer le 2ème triangle par rapport au 1er pour que ça fasse une étoile.
    J'ai cherché sur le net, je ne trouve pas.

    L'un de vous saurait-il faire un truc comme ça SVP ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 427
    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 427
    Points : 37 009
    Points
    37 009
    Par défaut
    Salut,

    Citation Envoyé par RowanMayfair Voir le message
    Il y a certainement une règle mathématique qui permet de savoir où démarrer le 2ème triangle par rapport au 1er pour que ça fasse une étoile.
    J'ai cherché sur le net, je ne trouve pas.
    A partir du triangle équilatéral, vous avez un cercle circonscrit dont on sait calculer le diamètre D.
    Choisissez une médiane du triangle, elle part d'un sommet, passe par le centre du cercle et à la distance D, vous avez le sommet du 2ème triangle à tracer.

    Côté "turtle", il faut définir combien tourner avant de déplacer la tortue de D puis arrivé au sommet du 2ème triangle définir combien tourner avant de...)

    Tout çà se trouve dans la définition du triangle équilatéral. et ce n'est pas un sujet "Python".

    - W

  3. #3
    Membre régulier Avatar de RowanMayfair
    Femme Profil pro
    Développeuse Freelance
    Inscrit en
    Mars 2019
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeuse Freelance

    Informations forums :
    Inscription : Mars 2019
    Messages : 247
    Points : 89
    Points
    89
    Par défaut
    Merci Wiztricks. Enfin je crois
    Là, c'est de la géométrie trop compliquée pour moi. J'ai pas le niveau.
    J'ai bidouiller, j'ai affiné mon script de départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def etoile6(taille,couleur,angle):
        triangle(taille,couleur,0)
        up()
        right(90)
        forward(taille/1.732)
        left(90)
        forward(taille)
        down()
        triangle(taille,couleur,180)
    Jusqu'ici tout va bien, sauf que si j'essaie de faire tourner la figure obtenue, ça ne fonctionne plus. Il faut faire plus qu'ajouter bêtement l'angle d'orientation donc....je ne sais pas faire.

    Ce n'est pas la première fois, dans un autre genre (je crois) j'ai eu le calcul de la période d'un pendule simple de longueur donnée .

    Faut-il un tel niveau en maths pour apprendre à programmer ?

    Si oui, alors je ferai sans doute mieux de me mettre au tricot

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 427
    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 427
    Points : 37 009
    Points
    37 009
    Par défaut
    Citation Envoyé par RowanMayfair Voir le message
    Faut-il un tel niveau en maths pour apprendre à programmer ?

    Si oui, alors je ferai sans doute mieux de me mettre au tricot
    C'est un niveau de géométrie qui ne dépasse pas le collège (et encore).

    De toutes façons, programmer, c'est faire faire à l'ordinateur des opérations que vous seriez capable de faire par vous même sur une feuille de papier avec un crayon.

    Donc pour programmer de la géométrie, il faut un peu connaître la géométrie; pour programmer une application réseau, il faut connaître les réseaux,...


    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
    from turtle import *
    from math import sqrt
     
    def triangle(taille,couleur,angle=0):
        "Fonction qui dessine un triangle équilatéral de taille, couleur et avec un angle déterminés"
        color(couleur)
        right(angle)
        for _ in range(3):
            forward(taille)
            right(120)
     
     
    def etoile(taille,couleur,angle=0):
        triangle(taille,couleur,angle)
        up()
        right(30)
        forward(2*taille/sqrt(3))
        right(90+60)
        down()
        triangle(taille,couleur)
     
    etoile(100, 'red', 30)
    - W

  5. #5
    Membre régulier Avatar de RowanMayfair
    Femme Profil pro
    Développeuse Freelance
    Inscrit en
    Mars 2019
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeuse Freelance

    Informations forums :
    Inscription : Mars 2019
    Messages : 247
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    C'est un niveau de géométrie qui ne dépasse pas le collège (et encore).

    De toutes façons, programmer, c'est faire faire à l'ordinateur des opérations que vous seriez capable de faire par vous même sur une feuille de papier avec un crayon.

    Donc pour programmer de la géométrie, il faut un peu connaître la géométrie; pour programmer une application réseau, il faut connaître les réseaux,...
    Je me doute bien que c'est de la géométrie niveau collège.
    J'ai 42 ans. Mes années de collèges remontent très très très loin.......et je n'étais déjà pas très douée en géométrie à l'époque.
    et en effet, je n'ai pas su résoudre ce problème d'étoile sur une feuille de papier avec mon stylo. Je confirme que le problème, c'est bien les maths.

  6. #6
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut.

    Bah dans ce cas, pourquoi faire un exercice de géométrie, si cette discipline est plus qu'un lointain souvenir (cauchemar) de ton enfance/adolescence ?
    Tu tends un peu le bâton pour te faire battre

    On peut s'amuser en programmation sans pour autant que ça nécessite de faire de la géométrie, ou des maths poussées, turtle n'est sans doute pas un bon choix de module pour s'amuser avec python si on a beaucoup de lacunes en géométrie

  7. #7
    Membre régulier Avatar de RowanMayfair
    Femme Profil pro
    Développeuse Freelance
    Inscrit en
    Mars 2019
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeuse Freelance

    Informations forums :
    Inscription : Mars 2019
    Messages : 247
    Points : 89
    Points
    89
    Par défaut
    je débute, et pour apprendre à programmer je suis le livre de Swinnen, qui est dispo ici.
    Et, en effet, il y a des exos de maths. Pas énormément, mais il y en a plusieurs, à chaque chapitre.
    ....Pour ça que je me demandais à quel point c'était indispensable les maths. Parce que je me cogne dessus régulièrement, et au final je passe autant voir plus de temps à comprendre les maths pour comprendre ce qu'on attend de moi...qu'à faire le script. Qui devient facile quand j'ai réussi à comprendre (pas souvent...)

    Donc....pas du mazochisme, juste des tentatives de ne pas trop zapper de trucs

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2007, 15h56
  2. une étoile filante ?
    Par pseudocode dans le forum Enigmes
    Réponses: 3
    Dernier message: 04/05/2007, 14h52
  3. Réalisation d'une étoile Filante
    Par bibendum7302 dans le forum Flash
    Réponses: 8
    Dernier message: 03/11/2006, 00h19
  4. Tracé d'une étoile à 5 branches
    Par onlytoine dans le forum 2D
    Réponses: 14
    Dernier message: 17/10/2005, 10h42
  5. Algorithme de tracé d'une étoile à 5 branches
    Par onlytoine dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 14/10/2005, 18h50

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