Tableaux

Tuples

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

Questions

  1. Ouvrir GIMP et cliquer sur la modification de la couleur du premier plan
  2. Régler R à 255,G à 0 et B à 0 à l'aide des curseurs ce qui donne le rouge primaire

  3. 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

    • T pour teinte un entier entre 0 et 360 degrés.(c'est le cercle des couleurs, ainsi 0 ou 360 correspond au rouge primaire)
    • S pour saturation entre 0 et 100
    • V pour valeur entre 0 et 100

    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

    S10090807060
    G0
    B0

    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

  4. 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

    V10090807060
    R0

    A partir de maintenant vous devez savoir comment réaliser un dégradé

Tableaux 1D

Questions

  1. 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)

  2. Modifier la fonction de telle sorte que le tableau soit construit en compréhension
  3. Faire une fonction Python qui retourne un tableau 1D des 20 couleurs codées en TSV de (0,100,100) jusqu'à (0,0,100) où on diminue la saturation de 5 à chaque fois
  4. Modifier cette fonction de telle sorte que le tableau soit composé des tuples RGB correspondants des tuples TSV précédents
  5. Utiliser le programme Python suivant ici(à compléter) pour visualiser les deux séries de valeurs RGB

Règle 110 pour un automate cellulaire 1D

On va générer l'automate cellulaire qui suit la règle 110 (vu en cours) mais avec 300 cellules sur 300 jours

Questions

  1. La colonie est une liste de 300 cellules de booléens. Initialiser colonie avec 300 valeurs False et une valeur True pour la cellule 297
  2. 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] +
    000
    001
    010
    011
    100
    101
    110
    111

    Quelle est cette fonction ?

  3. 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

  4. Modifier le programme pour faire la règle 90

Tableaux 2D

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

  1. Construire une image en nuances de gris correspondante à l'intensité de Rouge
  2. Construire une image en nuances de gris correspondante à l'intensité de Vert
  3. Construire une image en nuances de gris correspondante à l'intensité de Bleu

    Laquelle de ces trois images vous paraît la plus nette ?

  4. Construire l'image en nuances de gris (deux méthodes et comparer)
  5. Construire le négatif de l'image (si x est une des valeurs de r, g ou b remplacer par 255 - x)