Article épinglé

mardi 14 décembre 2021

Pyhon, turtle et 1000 sapins

 

Vous êtes en seconde et vous aimez les arbres... alors testez ce script ;)

  • le speed(10) c'est pour aller plus vite
  • le if c'est pour éliminer le message d'erreur "division par 0"
  • la formule pour c, c'est pour tenir compte de la perspective....

Script

from turtle import *
import random as rd
speed(10)
for i in range (1000):
    print(i)    
    x=rd.randint(-400,400)
    y=rd.randint(-100,0)
    if y==-100:
        y=-99
    c=1/rd.randint(1,3)/(y+100)*5


    penup()
    setpos(x,y)
    pendown()
    
    setpos(x+0*c,y+10*c)
    setpos(x+-15*c,y+5*c)
    setpos(x+0*c,20*c+y)
    setpos(x+-10*c,15*c+y)
    setpos(x+0*c,30*c+y)
    setpos(x+-5*c,25*c+y)
    setpos(x+0*c,40*c+y)

    setpos(x+0*c,10*c+y)
    setpos(x+15*c,5*c+y)
    setpos(x+0*c,20*c+y)
    setpos(x+10*c,15*c+y)
    setpos(x+0*c,30*c+y)
    setpos(x+5*c,25*c+y)
    setpos(x+0*c,40*c+y)

Pour comprendre


Pour aller plus loin

Ajout d'une fonction et surtout enregistrement du dessin produit au format .eps sous le nom maforet.

Script

from turtle import *
import random as rd

def sapin(x,y,c): #fonction dessinant le sapin de paramètre x,y,c
    penup()
    setpos(x,y)
    pendown()
    
    setpos(x+0*c,y+10*c)
    setpos(x+-15*c,y+5*c)
    setpos(x+0*c,20*c+y)
    setpos(x+-10*c,15*c+y)
    setpos(x+0*c,30*c+y)
    setpos(x+-5*c,25*c+y)
    setpos(x+0*c,40*c+y)

    setpos(x+0*c,10*c+y)
    setpos(x+15*c,5*c+y)
    setpos(x+0*c,20*c+y)
    setpos(x+10*c,15*c+y)
    setpos(x+0*c,30*c+y)
    setpos(x+5*c,25*c+y)
    setpos(x+0*c,40*c+y)
    return()


speed(10)# pour aller plus vite
setup(850,400)# pour paramétrer la fenêtre

for i in range (1000):
    print(i)    
    x=rd.randint(-400,400)
    y=rd.randint(-100,0)
    if y==-100:
        y=-99
    c=1*rd.randint(1,3)/(y+100)
    sapin(x,y,c)#appel de la fonction sapin ici

#enregistrement fichier dans le dossier ou se trouve votre script- s'importe dans GIMP par la suite
getcanvas().postscript(file="maforet.eps")

Manipulation avec GIMP pour exporter l'image eps en jpg


Résultat










Aucun commentaire:

Enregistrer un commentaire

Tout commentaire nous engage ;)