Article épinglé

Domaine ipa-troulet.fr, ce n'est plus moi...

Mise en garde - Domaine ipa-troulet.fr Ce domaine fut le mien de 2012 à 2025, il était hébergé au Canada chez HostPapa. Mais faute de motiva...

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