Le but de cette partie est de construire un dégradé de couleurs rouges, c'est à dire un ensemble de couleurs rouges allant du rouge foncé à un rouge plus clair.
Pour avoir une idée de comment s'y prendre nous allons utiliser le logiciel GIMP
Régler R à 255,G à 0 et B à 0 à l'aide des curseurs ce qui donne le rouge primaire
Il existe une autre façon de coder la couleur plus proche de la perception humaine des couleurs
Voir ici un article de Wikipédia
Cette fois ci on attribue trois nombres T (ou H en anglais pour Hue), S et V
Pour bien comprendre la différence entre S et V diminuer la saturation de 10 en 10 et observer comment évoluent G et B et comment évolue la couleur actuelle
Compléter le tableau suivant
S | 100 | 90 | 80 | 70 | 60 |
---|---|---|---|---|---|
G | 0 | ||||
B | 0 |
La relation entre G et S semble linéaire aussi on cherche une fonction f reliant S à G
Vérifier que G = f(S) = -2,55S + 255
Remettre R à 255, G à 0 et B à 0 puis diminuer cette fois ci V de 10 en 10. Comment évoluent G et B et comment évolue la couleur actuelle ?
Compléter le tableau suivant
V | 100 | 90 | 80 | 70 | 60 |
---|---|---|---|---|---|
R | 0 |
A partir de maintenant vous devez savoir comment réaliser un dégradé
Faire une fonction Python qui retourne un tableau 1D des 20 couleurs codées en RGB de (255,0,0) jusqu'à (255,100,100)
(On augmente les composantes G et B de 5 à chaque fois)
On va générer l'automate cellulaire qui suit la règle 110 (vu en cours) mais avec 300 cellules sur 300 jours
La règle 110 est une fonction logique dont il faut compléter le tableau de vérité
colonie[i]+ est l'état de la cellule i le jour d'après
colonie[i-1] | colonie[i] | colonie[i+1] | colonie[i] + |
---|---|---|---|
0 | 0 | 0 | |
0 | 0 | 1 | |
0 | 1 | 0 | |
0 | 1 | 1 | |
1 | 0 | 0 | |
1 | 0 | 1 | |
1 | 1 | 0 | |
1 | 1 | 1 |
Quelle est cette fonction ?
Pour simplifier la construction de la colonie le jour suivant on va "mimer" ce qui a été fait sur feuille
On parcourt la liste colonie pour construire dans une autre liste temp (pour temporaire) la colonie le jour suivant
Ensuite l'instruction colonie = temp fait que la variable colonie "pointe" sur les valeurs associées à temp
Télécharger le squelette du programme ici et le compléter
A partir de l'image de Lena que vous pouvez télécharger ici on va construire d'autres images avec le module PIL de Python
Compléter le programme suivant
Construire une image en nuances de gris correspondante à l'intensité de Bleu
Laquelle de ces trois images vous paraît la plus nette ?
La Tortue se déplace en suivant une suite d'instructions représentée par un mot composé des lettres "A", pour avancer d'un certain nombre de pixels pas, "G" pour tourner à gauche de 60 degrés, "D" pour tourner à droite de 120 degrés.
Par exemple si pas a pour valeur 50 pixels et si le mot est "AGADAGA" alors le déplacement de la tortue sera
On travaille à parir du squelette fractale.txt qu'on enregistre en fractale.py et que l'on complète pas à pas
A l'état initial le mot est "A".Tant que la variable pas est au-dessus d'un certain SEUIL on fait la substitution A -> AGADAGA
Ecrire à la main les 3 premiers mots
Définir une fonction substitution(mot) où mot est formé uniquement des lettres A,D et G et qui retourne une chaîne de caractères où tous les "A" du mot précédent sont remplacés par "AGADAGA"
Définir la fonction dessineFractale(longueur,actions) qui fait un dessin à partir du mot obtenu en répétant la substitution tant que le pas est supérieur au SEUIL
A chaque substitution effectuée on divise le pas par 3
Vous devez obtenir un dessin semblable à :
Que faire pour obtenir le dessin suivant ?
On change maintenant la règle de substitution A -> AGADADAGA
Modifier les fonctions tournerDroite(), tournerGauche(), substitution(mot) afin d'obtenir un dessin semblable à
On change maintenant la règle de substitution A -> GADAG
Le pas n'est plus divisé par 3 mais multiplié par $\dfrac{\sqrt{2}}{2}$ (car la figure est un demi-carré)
Modifier les fonctions tournerDroite(), tournerGauche(),substitution(mot) et dessineFractale(...) afin d'obtenir un dessin semblable à
On change maintenant la règle de substitution A -> GADAG si A est de rang pair (le premier A est numéroté 0) et A -> RALAR si A est de rang impair
Modifier les fonctions tournerDroite(), tournerGauche(),substitution(mot) et dessineFractale(...) puis compléter le dictionnaire actions avec les clés "R" et "L" et les valeurs associées afin d'obtenir un dessin semblable à