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)
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 ...
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