Premier cours de programmation: les enfants m’ont bluffé!

Depuis quelques temps nous nous cantonnions à la 3D car les enfants sont très demandeurs.  Ce matin j’ai quand même souhaité essayer une nouvelle approche du numérique: le codage.

Nous avons entièrement codé l’animation visible ci-dessous, c’est pas beau ça? 🙂 (faut cliquer sur le drapeau vert pour lancer l’animation)

(l’originale est disponible ici, vous pouvez la rejouer et la modifier)

Coder veut dire écrire des programmes, c’est à dire des séquences d’instructions que comprend l’ordinateur pour qu’il fasse ce qu’on souhaite.

Dans le cas présent, nous avons utilisé un formidable outil pédagogique qui donne une véritable vision de ce que nous programmeurs faisons tous les jours. Ca s’appelle Scratch, c’est gratuit, éducatif et disponible en ligne: https://scratch.mit.edu/

Une fois sur Scratch, on peut choisir un personnage et lui faire exécuter des programmes qu’on écrit en empilant des briques, chaque brique représentant en quelque sorte un ordre à exécuter.

Tout va se jouer sur une scène, à nous de trouver un scénario et d’arriver à le faire jouer par nos acteurs que sont les « lutins ». Nous commençons par ajouter un bonhomme bleu et un micro.

scratch1

Un écran d’ordinateur est composé de tout petits points appelés pixels. Vous pouvez les voir en regardant de très près. Ces pixels sont l’unité utilisée pour faire des actions. Par exemple on dit qu’on va « déplacer un objet de 10 pixels vers la droite ». Notre scène mesure 680 pixels de large sur 360 pixels de haut.

Une dernière notion importante abordée est que l’exécution d’instructions est déclenchée par des événements.

Par exemple pour démarrer notre animation on dira de commencer l’exécution du programme quand le drapeau vert sera cliqué. C’est la première brique de notre programme pour le lutin bleu.

greenflag

Par la suite, on va empiler des instructions qui se dérouleront dans l’ordre, chacune ne démarrant que lorsque la précédente a été exécutée. Voilà ce à quoi nous avons abouti après avoir bien patouillé:

script bleu

Ce qui signifie:

  1. On démarre quand le drapeau vert est cliqué
  2. On se positionne à un endroit précis (coordonnées en pixels, en gros à gauche de la scène)
  3. On répète en boucle 22 fois « je me déplace de 10 pixels vers la droite », ce qui va nous amener en glissant près du micro.
  4. On répète en boucle 3 fois: « je joue le son nommé Pop »
  5. Je joue le son nommé enregistrement1 (avec un micro un petit outil permet d’enregistrer des sons et de leur donner un nom)
  6. On répète en boucle 10 fois « je me déplace de 10 pixels vers le haut » pour libérer la place devant le micro pour le prochain personnage.
  7. J’envoie un message nommé « message1 » à tout le monde pour signaler que j’ai fini de faire ce que j’avais à faire.

C’est au tour de Maïann d’entrer en scène. On crée un nouveau « lutin » dont elle choisit la forme, une danseuse en l’occurrence. En gros c’est à peu près le même scénario pour Maïann, avec un son différent qu’elle enregistre. Mais on a un problème: on veut que le personnage bleu soit seul au départ sur scène. On écrit donc un deuxième programme pour la danseuse de Maïann:

  • un petit programme qui se contente de la cacher quand le drapeau vert est cliqué (début de l’animation)
  • son programme principal qui démarre  non pas sur le « clic drapeau vert » mais sur l’événement « message1 » (envoyé par le bleu quand il a fini). Il faut aussi penser à ajouter une brique « montrer » pour la faire apparaître quand elle entre en scène puisqu’on l’avait cachée au début de l’animation.

script maiann

De la même manière on crée un nouveau message nommé « finmaiann » qu’on enverra à tout le monde pour dire qu’on a fini.

C’est au tour de Noé puis Raphaël de suivre la même procédure.

script noe

script rapahel

Au final tout le monde exécute ce qu’il a à faire sur les événements prévus pour et ça donne la sublime animation finale 🙂

J’ai vraiment été impressionné par la compréhension des enfants. Nous avons fait tout ça en 3 quarts d’heure, avec beaucoup de plaisir et d’efficacité. Les enfants ont bien compris la logique des instructions et des événements, ils m’ont bluffé jusqu’à me corriger quand j’avais oublié un envoi de message 🙂

Bravo à eux, et bravo Scratch, un outil formidable.

Cours 3D: appliquer une texture

Screenshot 2015-05-03 17.55

Nous sommes avec Holly, Noé, Nolan et Raphaël.

Nous souhaitons que le moulin soit en briques. Il nous faut trouver une façon de « peindre » des briques sur notre cylindre.

Nous avons vu qu’au lieu de donner une couleur unie à un objet, nous pouvons appliquer une image, comme un papier peint.

Nous avons cherché sur internet une image avec des briques et vu ensemble comment l’appliquer à notre cylindre, via une carte appelée carte des UVs. Mais je ne rentrerai pas dans le détail de ces UVs aujourd’hui, ce serait un peu trop long. 🙂

Le fichier blender à télécharger

Le résultat du rendu:

moulin-briques

Apprentissage 3D: faisons le moulin de Kervoyal

Ce matin avec Raphaël, Nolan, Jean et Noé nous avons pris la décision de modéliser un cas concret: le moulin de Kervoyal.

Première chose à faire, chercher des photos de référence. Ca tombe bien, on a Internet 🙂

moulinkervoyal

On a essayé avec les enfants de décomposer le moulin en formes de base. On a vite trouvé qu’il s’agissait en gros d’un cylindre surmonté d’un cône. Nous avons donc créé un cylindre et un cône et pu expérimenter toutes les modifications pour les mettre aux proportions et tailles voulues.

Nous avons ensuite réalisé la fenêtre sur le toit à partir d’un simple cube, en extrudant quelques faces nous avons créé un petit toit et un creux pour la fenêtre. Puis des barreaux pour la fenêtre à partir de cubes étirés.

Screenshot 2015-04-11 19.13

Nous avons finalement réalisé une aile du moulin à partir de cubes allongés pour faire les travées centrale et latérales, puis un cylindre dupliqué 18 fois pour faire les traverses.

Une fois l’aile réalisée, nous l’avons inclinée puis dupliquée 3 fois à l’identique avec à chaque fois une rotation de 90°. Il nous a fallu discuter rotation et axes de rotation. Au final on a redimensionné et placé le tout devant la fenêtre.

Nous avons commencé à mettre quelques couleurs mais la cloche déjà sonnait, c’est les vacances! 🙂

Ci dessous un premier rendu de notre travail. Le fichier blender est disponible en cliquant ici

Bonnes vacances à tous!

moulin kervoyal

Cours de 3D: notons quelques astuces

(article rédigé en « cours »)

Nous sommes avec Maïann, Nolan, Jean et Lilou.

Nous voulons noter quelques raccourcis clavier importants.

  • X : Pour effacer l’objet sélectionné
  • S : pour changer la taille de l’objet sélectionné
  • G : déplacer l’objet sélectionné
  • R : pour la rotation de l’objet

Pour S, G et R, à chaque fois on clique sur le bouton gauche pour finir.

Un peu plus compliqué: Nolan demande comment diviser les facettes de l’objet.

Pour se faire il faut:

  • sélectionner l’objet (click droit sur l’objet)
  • rentrer dans le mode édition
  • CTRL+R : ensuite on passe la souris sur les faces qu’on veut diviser et on peut utiliser la molette pour augmenter le nombre de division.

Prochaine question de Maïann: comment changer la couleur?

On crée des balles, chacun affecte un matériel et choisit sa couleur.

Screenshot 2015-04-04 17.42.23

Maïann demande comment on duplique des objets?

  • on sélectionne ce qu’on veut dupliquer
  • on appuie sur SHIFT+D, puis on place l’objet dupliqué où on le souhaite, et on clique sur le bouton gauche pour terminer.

Voilà, on va s’arrêter là pour aujourd’hui, à vous les studios 🙂

 

3D: comment bouger une facette dans Blender?

Avec la classe de Ludo nous avons abordé la 3D et le logiciel Blender, certains élèves ont eu l’air emballés et ont beaucoup de questions. Maïann par exemple me demandait hier matin « comment on bouge une facette? ». J’ai fait une petite vidéo pour lui répondre, à voir ci-dessous.

Si des élèves (ou des parents 🙂 ) ont des questions, n’hésitez pas à les mettre en commentaire, c’est un essai mais si ça intéresse, je peux en faire d’autres.

 

Cours de 3D Blender

(article rédigé et publié en fin de séance avec les enfants)

Nous sommes en direct avec Nolan, Erine, Maïann et Jean.

Nous voulons installer Blender à la maison!!! 🙂

C’est là: http://www.blender.org/

Nous l’avons utilisé pour essayer de comprendre comment se passe l’éclipse.

Capture d'écran 2015-03-28 11.41.24

Ensuite nous avons rappelé les bases:

  1. arrêtes
  2. facettes
  3. points

Et on a patouillé tout ça, nous avons fait n’importe quoi un « lapin déformé »! 🙂

Capture d'écran 2015-03-28 11.58.01

Les fichiers sources sont disponibles ici:

Eclipse

Le lapin déformé

Initiation à la 3D

(Initiation à l’informatique et à Internet, 1h le samedi matin.)

Ce matin avec un groupe de 4 élèves de CE2, nous avons parlé un peu de leurs goûts et de leur vision d’internet. La discussion s’est orientée vers les jeux sur ordinateurs. J’ai dit aux enfants que c’était mon métier de créer des jeux en ligne et je leur ai proposé de leur montrer un peu les outils qu’on utilise pour ça.

Après une petite démo d’un jeu d’échecs, nous avons discuté de la différence entre les images 2D (2 dimensions) et les images 3D (3 dimensions).

Exemple 2D: « c’est une sorte de dessin à plat »

Screenshot 2015-01-17 17.48.27

Le même plateau en version 3D: « ça fait comme en vrai ». On essaye de simuler les volumes, les perspectives, les lumières…

Screenshot 2015-01-17 17.48.17

Gros succès pour la version 3D.

Je leur ai montré l’outil que j’utilise pour créer ces pièces et les plateaux. Il s’agit en l’occurrence de Blender, logiciel libre. Nous avons vu qu’on peut créer des formes, les modifier, les déplacer, les tourner…

modelingknight

Nous avons vu qu’un objet 3D est composé:

  • de points,
  • d’arêtes (oui Jade, comme les poissons 😉 ),
  • et de facettes.

Les points sont joints par une arête, 4 arêtes forment une facette.

facettes2

On peut agir au choix sur chacun de ses composants et ainsi modeler une forme. On peut aussi rajouter des facettes, des points…

Pour chaque élément sélectionné, on a vu comment changer:

  • la position (translation)
  • la taille (échelle)
  • l’angle (rotation)

Je leur ai montré rapidement comment modeler un pion d’échecs (grossièrement) à partir d’un simple cylindre et les enfants ont voulu ensuite créer une forme.

Nous avons donc repris un nouveau cylindre qu’on a malmené dans tous les sens pour arriver à nos fins. Sous les ordres très précis de notre architecte en chef Noé, nous avons fait ceci:

Screenshot 2015-01-18 14.17.27

Je lui laisserai le soin de vous dire ce que c’est 🙂

Le fichier blender: champi.blend