Terrestre : La plage de nuit

Projets

Pour ce dernier projet NSI de terminale, qui était un projet libre, j’ai décidé de faire un dessin avec turtle en python. J’ai eu cette idée car je n’avais jamais réellement crée un dessin de moi-même entièrement.

Dans cet article je vais vous montrer comment je m’y suis prise pour faire ce dessin, ensuite des difficultés que j’ai rencontrées et enfin le code entier que vous pourrez télécharger et tester chez vous.

Fond du dessin

Pour le fond du dessin, je me suis aidée d’un article des premières de la spécialité NSI pour leur projet « Art », il s’agit d’un fond dégradé, du bleu au noir pour montrer qu’il fait nuit dans mon dessin.

penup()
colormode(255)
speed(0)

goto(-640,0)
pendown()
for i in range(720):
    pencolor(0,0, 255-round((i/(720/255))))
    forward(1280)
    goto(-640,-360+i)


penup()
goto(0, 0)
pendown()

Les étoiles

Pour les étoiles, je me également aidée d’un projet de premières NSI, il s’agit de petits cercles, coloriés à l’intérieur, en banc, de taille différentes et à des positions qui changent à chaque fois.

def etoile():
    for i in range(50):
        penup()
        goto(randint(-720,720), randint(0,360))
        pendown()
        pencolor(255, 255, 255)
        lcercle = randint(1,3)
        fillcolor('white')
        begin_fill()
        circle(lcercle)
        end_fill()

Le sable

Une plage sans le sable n’est pas une plage ! Pour la représenter j’ai alors fait un énorme trait de couleur jaune, afin de faire le sol de sable.

def plage():
    speed(3)
    penup()
    goto(-500, -500)
    pensize(500)
    pencolor(230, 230, 60)
    pendown()
    forward(1000)

Les parasols

Les parasols sont des objets que l’on voit très souvent à la plage, pour les modéliser j’ai alors représenté des triangles pour le haut et un simple trait pour le bas. Chaque parasol a 3 fonctions différentes.

def bas_parasol():
    penup()
    goto(300,-250)
    pensize(20)
    pencolor(158, 158, 158)
    pendown()
    left(90)
    forward(150)
    
def haut_parasol():
    penup()
    pensize(1)
    pencolor(255, 10, 137)
    right(90)
    forward(75)
    fillcolor(255, 10, 137)
    pendown()
    begin_fill()
    for i in range(3):
        left(120)
        forward(150)
    end_fill()
    
    goto(225,-100)
    pencolor(255, 163, 211)
    ymontagne = -100
    for i in range(14):
        pendown()
        goto(300,ymontagne)
        goto(375,-100)
        penup()
        goto(225,-100)
        ymontagne += 10
    
def parasol():
    bas_parasol()
    haut_parasol()
    
    
    
def bas_parasol2():
    penup()
    goto(-150,-250)
    pensize(15)
    pencolor(158, 158, 158)
    pendown()
    left(90)
    forward(100)
    
def haut_parasol2():
    penup()
    pensize(1)
    pencolor(38, 150, 60)
    right(90)
    forward(50)
    fillcolor(38, 150, 60)
    pendown()
    begin_fill()
    for i in range(3):
        left(120)
        forward(100)
    end_fill()
    
    goto(-200,-150)
    pencolor(62, 237, 96)
    ymontagne = -150
    for i in range(13):
        pendown()
        goto(-150,ymontagne)
        goto(-100,-150)
        penup()
        goto(-200,-150)
        ymontagne += 7.5
      
def parasol2():
    bas_parasol2()
    haut_parasol2()

La lune

Qui dit étoiles et nuit, dit lune ! Pour la lune il suffit de faire plusieurs cercles : un grand de couleur gris clair et deux petits à l’intérieur de couleur gris foncé.

def lune():
    penup()
    goto(420, 170)
    pendown()
    pencolor(194, 194, 194)
    fillcolor(194, 194, 194)
    begin_fill()
    circle(60)
    end_fill()
    penup()
    goto(390, 220)
    pendown()
    pencolor(148, 148, 148)
    fillcolor(148, 148, 148)
    begin_fill()
    circle(20)
    end_fill()
    penup()
    goto(430, 250)
    pendown()
    begin_fill()
    circle(15)
    end_fill()

Les différentes difficultés rencontrées

  • Le bas du parasol :

Pour le bas du parasol, j’ai hésité par rapport à la longueur et à la largeur.

  • La forme du haut du parasol :

Pour le chapeau du parasol, je voulais faire un demi cercle au lieu de triangle car c’est bien plus représentatif d’un parasol, je n’ai pas réussi à m’arrêter à la moitié d’un cercle.

  • Les motifs sur le haut du parasol

Ses motifs ont été aussi compliqué, je n’arrivais pas à, trouver la bonne disposition, mais j’ai fini par y arriver.

(je n’arrive pas à mettre le code en entier)