Maths-SNT : Réalisations de drapeaux en Python (2023)

Le projet final proposé aux élèves

Réaliser en Python des drapeaux (réels ou imaginaires).

Exemples de productions d’élèves

Exemple de drapeau imaginaire

Drapeau de la Corée du Sud

Drapeau imaginaire avec des étoiles

Drapeau des Seychelles

(Video) How To Create A Dynamic Employee Skills Matrix With Projects In Excel [Masterclass + Free Download]

Un code Python correspondant(à tester sur https://trinket.io/python3 par exemple):

import matplotlib.pyplot as plt
from PIL import Image

#Creation d'une image blanche RGB 10x10
dessin = Image.new("RGB",(600,400),(255,255,255))

#Definitions des couleurs
rouge = (255, 0, 0)
jaune = (255, 204, 51)
bleu = (0, 0, 204)
vert = (0, 102, 51)
blanc = (255, 255, 255)

#On parcourt tous les pixels de l'image
for col in range(0, 600):
for ligne in range(0, 400):
if ligne <= -2*col + 400:
dessin.putpixel((col, ligne), bleu)
if ligne > -2*col + 400 and ligne <= -1*col + 400:
dessin.putpixel((col, ligne), jaune)
if ligne > -1*col + 400 and ligne <= -0.5*col + 400:
dessin.putpixel((col, ligne), rouge)
if ligne > -0.22*col + 400:
dessin.putpixel((col, ligne), vert)

plt.imshow(dessin)
plt.show()

Objectifs et liens avec les programmes

Parcourir les notions d’algorithmique et de programmation présentes dans les programmes des SNT et de mathématiques pour accompagner le thème: La photographie numérique.

Extraits des programmes de Mathématiques:

Contenus:

  • Séquences d’instructions
  • Instruction conditionnelle
  • Boucle bornée (for)
  • Pente (ou coefficient directeur) d’une droite non parallèle à l’axe des ordonnées.

Capacités attendues:

  • Concevoir et écrire une instruction d’affectation, une séquence d’instructions, une instruction conditionnelle.
  • Programmer, dans des cas simples, une boucle bornée, […].
  • Dans des cas plus complexes: lire, comprendre, modifier ou compléter un algorithme ou un programme.
  • Déterminer une équation de droite à partir de deux points, […].

Extraits des programmes SNT:

Contenus:

  • Instructions conditionnelles
  • Boucles bornées
  • Pixels

Capacités attendues:

  • Traiter par programme une image pour la transformer en agissant sur les trois composantes de ses pixels.

Outils et moyens à disposition

Conditions d’enseignements au lycée BDA pour l’année 2020-2021:

Au lycée BDA, dans la plupart des classes de seconde, le/la professeur(e) de mathématiques est aussi en charge de l’enseignement des SNT pour la classe ce qui permet de faciliter le lien entre les différents programmes et d’ajuster certaines heures de cours selon les besoins. Le lycée ne disposant pas vraiment de salles informatiques permettant un travail simultané de 18 binômes ou de salles permettant de couper la classe en deux dans de bonnes conditions, les heures de dédoublements en Mathématiques et en SNT facilitent grandement l’accompagnement de l’enseignant(e) lors de phases d’apprentissages de nouvelles notions de programmation parfois complexes.

Outils:

L’éditeur Pyzo est installé sur l’ensemble des postes du lycée mais nous avons surtout utilisé une émulation de Python en ligne: Trinket qui fonctionne entièrement dans le navigateur. Cela permet aux élèves de travailler chez eux sans rien installer.
Dans sa version de base, Trinket (Python2), offre une émulation de la librairie Turtle.
Afin de permettre aux élèves de compléter leurs productions à la maison, Trinket/python3 offre des alternatives pour l’utilisation en ligne de la librairie PIL (Python Imaging Library).

(Video) Livecoding PHP / Symfony : Découverte de Symfony UX

Pour le retour des productions, les élèves envoient par mail à leurs professeurs le lien Trinket correspondant.

Attention: Les codes Trinket/python3 peuvent être modifiés par une personne disposant du lien. Il faudra donc veiller à ne pas effacer le code d’un élève. Aussi, il sera préférable de diffuser les codes d’exemples sans lien Trinket.

Mise en place et déroulement

Le contexte sanitaire (2020-2021) ainsi que la difficulté de délimiter clairement le début et la fin du projet ne permettent pas de donner un nombre précis de semaines. Cela dépend aussi de la façon dont l’enseignant(e) aborde les différentes notions (débats ou simples curiosités, programmes à modifier ou à construire entièrement, contraintes faibles ou fortes dans le projet final...)

Dessiner sous contraintes:

Dans un premier temps, les élèves découvrent (redécouvrent) la notion d’algorithme par un retour débranché aux instructions élémentaires et la nécessité de s’entendre sur des normes de communication pour être compris par l’humain et aussi par la machine.
La programmation en langage Python est alors introduite avec ses contraintes et la syntaxe des boucles bornées est installée pour reproduire certains dessins.
Trinket (python2) est alors utilisé pour le passage sur machine avec l’utilisation de la librairie Turtle.

Pixels et images numériques:

Le thème: La photographie numérique permet d’aborder la notion d’image numérique matricielle, les pixels et le codage RVB. Là aussi des activités branchées/débranchées de production/reproduction d’images simples (pixel par pixel) sont mises en place.
Un problème arrive rapidement: Comment créer, reproduire ou transformer des images dont la dimension est bien plus élevée?

Boucles bornées imbriquées:

Pour des images de taille supérieure, la nécessité d’utiliser des boucles se fait rapidement sentir. Les élèves jouent sur les bornes des boucles pour dessiner des rectangles. De nombreux drapeaux sont alors à reproduire. Hélas, certains drapeaux (comme l’Union Jack) restent encore inaccessibles...

Boucles bornées imbriquées et les instructions conditionnelles:

Une autre façon de dessiner des rectangles est alors découverte: Parcourir tous les pixels de l’image et n’agir que sur les pixels dont les coordonnées vérifient une ou plusieurs conditions.

Liens avec les fonctions affines:

Un travail en parallèle sur les fonctions affines permet alors de proposer d’autres types de conditions pour agir sur des ensembles de pixels dont les frontières ne sont pas forcément horizontales ou verticales. Calculs d’équations réduites de droites non verticales passant par deux points de coordonnées et débats autour des notions croissante/décroissante (en effet, le sens de l’axe des ordonnées dans les images numériques est inversé).

Demandes de productions:

Après avoir travaillé ces différentes approches, les élèves ont pour mission de produire/reproduire un drapeau. D’autres contraintes apparaissent pour certains projets (cercles, étoiles). Ce travail de production finale s’est principalement effectué à la maison. Un retour par mail a été demandé et certains élèves ont su trouver, voire même construire entièrement des façons de dessiner des étoiles à cinq branches.

Traitements des images numériques:

Des discussions et/ou activités autour du traitement d’images numériques (filtres, niveaux de gris, passage au négatif, suppression d’un fond vert…) permettent de réinvestir les notions parcourues. La méthode getpixel() est alors découverte.

Exemples de fiches d’activités et de codes donnés aux élèves

Images numériques et couleurs:

Maths-SNT : Réalisations de drapeaux en Python (5) Activité 2 : Découverte des couleurs RVB (PDF de 420ko)

(Video) MIND BLOWN! Renegade Rabbi Discusses Spirituality Vs. Religion: REAL Difference | Rabbi Rami Shapiro

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

Dessiner des formes avec des conditions:

Maths-SNT : Réalisations de drapeaux en Python (6) Un exemple de TP : TP boucles et conditions (PDF de 170.4ko)

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

D’autres exemples sur:
Les images numériques - Tableaux Maths

Impressions des enseignants

De nombreux élèves, qu’ils aient ou non des difficultés ou des manques d’appétence pour le numérique et la programmation, se sont engagés dans les projets et se sont sentis valorisés par la réussite de leurs productions.
Les œuvres retournées montrent, dans l’ensemble, un bel investissement et certaines productions révèlent une recherche très poussée de créations d’éléments non travaillés en classe (étoiles, portions de disques, polygones et stratégies d’assemblages complexes...)

Prolongements, questionnements et améliorations possibles

Dans certaines classes, des motifs circulaires ont été dessinés. Il est donc possible de réinvestir dans ce cadre un travail sur la distance entre deux points dans un r.o.n.
Afin de lier davantage le projet avec le traitement des images numériques, on pourrait demander aux élèves de construire des œuvres à partir de photographies numériques.
Par exemple, construire une image à partir de plusieurs images par extraction de formes.

Un travail sur les dégradés de couleurs peut permettre de travailler davantage les variables informatiques.
Nous sommes partis sur des noms de compteurs de boucles «col» et «ligne» pensant qu’il serait plus simple pour les élèves de s’y retrouver dans la construction de leurs premières images. Les noms de compteurs «x» et «y» semblent plus pertinents sur l’ensemble du projet.

Autres exemples de productions d’élèves

Création par un élève d’une procédure permettant de réaliser une étoile à cinq branches:

Ensemble des productions d’une classe:

Maths-SNT : Réalisations de drapeaux en Python (8) Ensemble de productions d'une classe : Drapeaux de la classe de 2A (PDF de 285.5ko)

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

Exemples de productions d’une autre classe:

Maths-SNT : Réalisations de drapeaux en Python (9) Exemples de productions dans une autre classe (PDF de 330.8ko)

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

Deux productions de fiches complètes autour de drapeaux:

Maths-SNT : Réalisations de drapeaux en Python (10) Fiche de présentation d'un drapeau : Ambre propose une fiche complète autour d'un drapeau (PDF de 70ko)

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

Maths-SNT : Réalisations de drapeaux en Python (11) Fiche complète Zia : Zia propose une fiche complète sur un drapeau avec des calculs de coefficients directeurs (PDF de 198.7ko)

Maths-SNT: Réalisations de drapeaux en Python - Académie de Poitiers.

(Video) L'Afrique noire, berceau de la médecine et de la chirurgie

Videos

1. SpaceX Starship Pressure Builds, Starlink Breaks Record, JWST, Relativity Space Terran 1 and more
(Marcus House)
2. Unraveling The Ancient Path to Inner Freedom: Meditation Practices for Modern Life | Richard Haight
(Next Level Soul Podcast)
3. Detroit Lions Season In The Balance | Detroit Lions Podcast
(Detroit Lions Podcast)
4. Do UAP represent non-human intelligence? Is disclosure imminent? With 'UFO activist'… Steve Bassett
(Unravelling the Universe)
5. Our Prophetic Roots, with Pastor Chad Stuart - January 21, 2023
(Spencerville Church)
6. Elle Ne Savait Pas Qu’il Y’Avait des Caméras … Regardez Ce Qu’elle A Fait !
(Lama Faché)
Top Articles
Latest Posts
Article information

Author: Sen. Ignacio Ratke

Last Updated: 18/03/2023

Views: 6162

Rating: 4.6 / 5 (76 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Sen. Ignacio Ratke

Birthday: 1999-05-27

Address: Apt. 171 8116 Bailey Via, Roberthaven, GA 58289

Phone: +2585395768220

Job: Lead Liaison

Hobby: Lockpicking, LARPing, Lego building, Lapidary, Macrame, Book restoration, Bodybuilding

Introduction: My name is Sen. Ignacio Ratke, I am a adventurous, zealous, outstanding, agreeable, precious, excited, gifted person who loves writing and wants to share my knowledge and understanding with you.