[PYTHON] J'ai essayé de dessiner une ligne en utilisant une tortue

Module tortue

Une version Python de Turtle Graphics qui vous permet de manipuler une tortue avec un stylo pour dessiner une image. Scratch est célèbre pour les enfants, mais il semble être un bon matériel pédagogique selon la façon dont vous l'utilisez. J'ai pensé que ce dessin était incroyable et j'ai essayé de l'utiliser ...

――Vous pouvez dessiner un tel dessin au trait (comme une forêt ou une forêt)

スクリーンショット 2020-06-15 23.35.58.jpg

Voici l exemple de code. Créons une fonction appelée forêt.

turtlePicture.py


#
#Importez une tortue et tracez une ligne
# 2020.06.15 ProOJI
#
import turtle

#Création d'objets kameSan
kameSan = turtle.Turtle()

#Créer une méthode (utilisation récursive)
def forest(n, length:int=1000)->None:
    if n <= 0:
        kameSan.forward(length)
        return

    '''Longueur récursive 1= 1000 * 0.5 '''
    forest(n-1, length * 0.5)

    #Faites pivoter 85 degrés vers la droite
    #De doux à vif
    kameSan.right(85)

    '''Longueur récursive 2= 1000 ÷ 3 '''
    forest(n-1, length / 3)

    #Faites pivoter 170 degrés vers la gauche
    #Dessinez une aiguille pointue sur un virage serré
    kameSan.left(170)

    '''Longueur récursive 3= 1000 ÷ 3 '''
    forest(n-1, length / 3)

    #Faites pivoter 85 degrés vers la droite
    #Atterrir à nouveau dans une direction douce
    kameSan.right(85)
    '''Longueur récursive 4= 1000 ÷ 0.38 '''
    forest(n-1, length * 0.38)

if __name__ == '__main__':
    kameSan.penup()
    kameSan.setpos(270, -20)
    kameSan.pendown()
    kameSan.left(180)
    kameSan.speed(0)
    forest(5)
    kameSan.done()

En faisant cela, vous pouvez tracer une ligne. De plus, si vous apportez des modifications et définissez un changement de couleur dans la partie récursive ...

スクリーンショット 2020-06-15 23.52.20.jpg

turtlePictureWithColor.py


#
#Importez une tortue et tracez une ligne
#kameSan dessine des lignes lors du déplacement
# 2020.06.15 ProOJI
#
import turtle

#Création d'objets kameSan
kameSan = turtle.Turtle()

#Créer une méthode (utilisation récursive)
def forest(n, length:int=1000)->None:
    if n <= 0:
        kameSan.forward(length)
        return

    '''Longueur récursive 1= 1000 * 0.5 '''
    kameSan.pencolor("red")
    forest(n-1, length * 0.5)

    #Faites pivoter 85 degrés vers la droite
    #De doux à vif
    kameSan.right(85)

    '''Longueur récursive 2= 1000 ÷ 3 '''
    kameSan.pencolor("blue")
    forest(n-1, length / 3)

    #Faites pivoter 170 degrés vers la gauche
    #Dessinez une aiguille pointue sur un virage serré
    kameSan.left(170)

    '''Longueur récursive 3= 1000 ÷ 3 '''
    kameSan.pencolor("green")
    forest(n-1, length / 3)

    #Faites pivoter 85 degrés vers la droite
    #Atterrir à nouveau dans une direction douce
    kameSan.right(85)
    '''Longueur récursive 4= 1000 ÷ 0.38 '''
    forest(n-1, length * 0.38)

if __name__ == '__main__':
    #penup Pas de dessin car le stylo est relevé
    kameSan.penup()
    #Déplacer vers la position
    kameSan.setpos(270, -20)
    #pendown Le stylo est abaissé de sorte qu'il est tiré d'ici
    kameSan.pendown()
    #Tourner de 180 degrés vers la gauche
    kameSan.left(180)

    kameSan.speed(0)
    forest(5)
    kameSan.done()

Vous pouvez voir quel code trace la ligne et comment.

Recommended Posts

J'ai essayé de dessiner une ligne en utilisant une tortue
J'ai essayé de dessiner une pseudo figure fractale en utilisant Python
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé d'utiliser pipenv, alors prenez note
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
J'ai essayé d'utiliser Pythonect, un langage de programmation de flux de données.
J'ai essayé de lire un fichier CSV en utilisant Python
J'ai essayé d'utiliser la base de données (sqlite3) avec kivy
J'ai créé un jeu ○ ✕ avec TensorFlow
[J'ai essayé d'utiliser Pythonista 3] Introduction
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser RandomForest
J'ai essayé d'utiliser BigQuery ML
J'ai essayé d'héberger un exemple de modèle de Pytorch en utilisant TorchServe
J'ai essayé d'utiliser Amazon Glacier
J'ai essayé d'utiliser git inspector
[Python] J'ai essayé d'exécuter un serveur local en utilisant flask
J'ai essayé d'utiliser magenta / TensorFlow
J'ai essayé de lire les données d'un fichier en utilisant Node.js.
J'ai essayé d'utiliser Python (3) au lieu d'un calculateur de fonctions
J'ai essayé d'utiliser AWS Chalice
J'ai essayé de dessiner un diagramme de configuration à l'aide de diagrammes
J'ai essayé d'utiliser l'émojinateur Slack
J'ai essayé d'héberger un modèle d'apprentissage en profondeur de TensorFlow à l'aide de TensorFlow Serving
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique
J'ai essayé d'automatiser [une certaine tâche] à l'aide d'une tarte à la râpe
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai créé un éditeur de texte simple en utilisant PyQt
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
J'ai essayé d'utiliser Rotrics Dex Arm # 2
J'ai fait un Line-bot avec Python!
Dessiner une courbe Silverstone en utilisant Python
J'ai essayé d'utiliser Rotrics Dex Arm