Linkin Park

Projets

Linkin Park est un groupe de rock et de métal américain formé en 1996. Il est actuellement composé de Emily Armstrong au chant à la suite du décès de Chester Bennington, Colin Brittain à la batterie à la suite du départ de Rob Bourdon, Mike Shinoda au chant(rap), à la guitare rythmique et au clavier, Brad Delson à la guitare solo, Dave Farrell à la guitare basse et Joe Hahn aux platines, effets et mixages.

Le fond

C’est un dégradé allant du blanc au noir grâce à une boucle for qui dessine les traits de couleurs au fur et à mesure. J’ai choisis ces teintes car le symbole et le nom du groupe sont habituellement représentés en noir avec un fond blanc ou inversement.

from turtle import *
colormode(255)
Screen()
setup(800, 600)
penup()
colormode(255)
speed(10)
goto(-400, -300)
pendown()

for i in range(600):
    pencolor(255 - round(i / (600 / 255)), 255 - round(i / (600 / 255)), 255 - round(i / (600 / 255)))
    forward(800)
    goto(-400,-300+i)

Le logo du groupe Linkin Park a beaucoup changé au cours du temps et cette forme est sûrement ma préférée. Chaque angle de l’hexagone est censé symboliser un des membres de la bande (six au total). Pour le codage du logo ; il est composé d’un goto(x,y) pour définir où la figure commencera. Ensuite, la fonction circle() me servira deux fois pour les deux arc de cercle et enfin je ferais tous les angles à l’aide des fonction setheading() pour définir l’angle de direction du trait et forward() pour définir la longueur de ce trait.

pencolor(209,209,209)
pensize(10)
penup()
goto(0,250)
pendown()
circle(-100,-170)

setheading(70)
forward(145)

setheading(115)
forward(-90)

setheading(-180)
forward(108)

setheading(70)
forward(153)

setheading(0)
circle(-100,190)

L’écriture de Linkin

Pour écrire « Linkin » j’ai d’abord définit le i avec la fonction def pour le réutiliser dans d’autre lettres comme la barre du L, du N, du K et les deux barres du dernier N. J’ai ensuite utilisé les fonctions goto(x,y) pour commencer de nouvelles lettres aux coordonnées voulues, setheading() et forward() comme pour le logo. Mais j’ai aussi commencé à appliquer les fonction begin_fill() et end_fill() qui permette de remplir une portion de dessin de la couleur définit par fillcolor(r,g,b) tant que tous les pointes sont reliés.

penup()
goto(-240,20)
pendown()
# linkin park
# def i
def i(r,g,b,pensize):
    pencolor(r,g,b)
    fillcolor(r,g,b)
    
    begin_fill()
    
    setheading(0)
    forward(30)
            
    setheading(-90)
    forward(100)
    
    setheading(-180)
    forward(30)
    
    setheading(90)
    forward(100)
    
    end_fill()

# L
i(60,60,60,pensize(5))

setheading(-90)
forward(70)

fillcolor(60,60,60)
begin_fill()

setheading(0)
forward(70)

setheading(-90)
forward(30)

setheading(-180)
forward(70)

setheading(90)
forward(30)

end_fill()

penup()
goto(-155,20)
pendown()
# I
i(60,60,60,pensize(5))

penup()
goto(-110,20)
pendown()
#N
i(60,60,60,pensize(5))

penup()
goto(-80,20)
pendown()

begin_fill()

setheading(-55)
forward(60)

setheading(90)
forward(49)

setheading(0)
forward(30)

setheading(-90)
forward(100)

forward(50)

setheading(125)
forward(111)

setheading(90)
forward(59)

end_fill()

penup()
goto(-2,20)
pendown()
# K
i(60,60,60,pensize(5))

penup()
goto(28,-20)
pendown()

begin_fill()

setheading(50)
forward(52)

setheading(0)
forward(40)

setheading(-130)
forward(65)

setheading(-52)
forward(65)

setheading(-180)
forward(40)

setheading(130)
forward(52)

setheading(90)
forward(30)

end_fill()

penup()
goto(114,20)
pendown()
# I
i(60,60,60,pensize(5))

penup()
goto(158,20)
pendown()
# N
i(60,60,60,pensize(5))

penup()
goto(188,20)
pendown()

begin_fill()

setheading(-55)
forward(60)

setheading(90)
forward(49)

setheading(-90)
forward(100)

setheading(125)
forward(60)

setheading(90)
forward(50)

end_fill()

penup()
goto(222,20)
pendown()

i(60,60,60,pensize(5))

L’écriture de Park

Pour l’écriture de « Park », j’ai procédé de la même manière qu’avec « Linkin » : j’ai crée une fonction avec def qui a la même forme que la fonction i mais avec des mesures plus grandes et qui s’appelle donc I(i majuscule). J’ai réutilisé les fonctions circle() pour les boucles du P et du R ; c’est d’ailleurs le même bout de code grâce aux fonctions setheading() et forward() (on aurait été de changer toutes les données avec des goto(x,y). Le K, lui, est le même que le petit k mais avec des mesures plus grandes. Pour l’intérieur du A j’ai fais un triangles avec les fonctions setheading() et forward() puis j’ai essayé de le remplis avec begin_fill() et end_fill() de la même couleur que le fond.

penup()
goto(-240,-90)
pendown()
# park
# def I
def I(r,g,b,pensize):
    pencolor(r,g,b)
    fillcolor(r,g,b)
    
    begin_fill()
    
    setheading(0)
    forward(40)
            
    setheading(-90)
    forward(130)
    
    setheading(-180)
    forward(40)
    
    setheading(90)
    forward(130)
    
    end_fill()

# P
I(0,0,0,pensize(5))

penup()
goto(-200,-90)
pendown()

begin_fill()

setheading(0)
forward(30)
circle(-40,180)
setheading(-180)
forward(30)

setheading(90)
forward(29)
setheading(0)
forward(10)
circle(12,180)
setheading(-180)
forward(10)
setheading(90)
forward(27)

end_fill()

penup()
goto(-138,-90)
pendown()
# A

begin_fill()

setheading(0)
forward(85)

setheading(-75)
forward(135)

setheading(-180)
forward(45)

setheading(112)
forward(20)

setheading(-180)
forward(26)

setheading(-115)
forward(20)

setheading(-180)
forward(45)

setheading(70)
forward(105)

setheading(130)
forward(41)

end_fill()

penup()
goto(-91,-180)
pensize(2)
pencolor(219,219,219)
fillcolor(219,219,219)
pendown()

begin_fill()

setheading(0)
forward(15)

setheading(101)
forward(40)

setheading(-101)
forward(40)

end_fill()

penup()
goto(-2,-90)
pencolor(0,0,0)
fillcolor(0,0,0)
pendown()
# R

I(0,0,0,pensize(5))

penup()
goto(38,-90)
pendown()

begin_fill()

setheading(0)
forward(30)
circle(-40,180)
setheading(-180)
forward(30)

setheading(90)
forward(29)
setheading(0)
forward(10)
circle(12,180)
setheading(-180)
forward(10)
setheading(90)
forward(27)

end_fill()

penup()
goto(70,-165)
pendown()

begin_fill()

setheading(-60)
forward(67)

setheading(-90)
forward(60)

setheading(122)
forward(130)

setheading(90)
forward(26)

setheading(0)
forward(27)

end_fill()

penup()
goto(120,-90)
pendown()
# K

I(0,0,0,pensize(5))

penup()
goto(130,-175)
pendown()

begin_fill()

setheading(50)
forward(110)

setheading(0)
forward(50)

setheading(-130)
forward(80)

setheading(-52)
forward(80)

setheading(-180)
forward(50)

setheading(130)
forward(115)

setheading(90)
forward(30)

end_fill()

Image finale

Télécharger le script en .py :

Voici le script complet !