Zoom matrice image
On travaille sur des dessins en noir et blanc obtenu Ă partir de pixels noirs et blancs : La figure « cĆur » ci-dessus va servir dâexemple. On la reprĂ©sente par une grille de nombres, câest-Ă -dire par une liste composĂ©e de sous-listes de mĂȘme longueur. Chaque sous-liste reprĂ©sentera donc une ligne du dessin.
Dans le code ci-dessous, la fonction affiche
permet dâafficher le dessin. Les pixels noirs (1 dans la grille) seront reprĂ©sentĂ©s par le caractĂšre "*" et les blancs (0 dans la grille) par deux espaces.
La fonction zoom_liste
prend en argument une liste liste_depart
et un entier k
. Elle
renvoie une liste oĂč chaque Ă©lĂ©ment de liste_depart
est dupliqué k
fois.
La fonction zoom_dessin
prend en argument la grille dessin
et renvoie une grille oĂč
toutes les lignes de dessin
sont zoomées k
fois et répétées k
fois.
Exemples
>>> coeur = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
>>> affiche(coeur)
* * * *
* * * *
* * *
* *
* *
* *
* *
* *
* *
*
>>> affiche(zoom_dessin(coeur,3))
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * *
* * * * * * * * *
* * * * * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * *
* * *
* * *
# Tests
(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)