Aller au contenu
Drones

Plan cartésien

Exercices Scratch — Série 2 : Le Plan Cartésien

🎯 Objectif : Comprendre le système de coordonnées (X, Y) utilisé par Scratch — et par TOUS les robots et drones !

📐 Rappel : Le Plan Cartésien

Le plan cartésien est divisé en 4 quadrants + des cas spéciaux :

Zone Condition sur X Condition sur Y Exemple
Quadrant 1 (Q1) x > 0 (positif) y > 0 (positif) (3, 2)
Quadrant 2 (Q2) x < 0 (négatif) y > 0 (positif) (-2, 3)
Quadrant 3 (Q3) x < 0 (négatif) y < 0 (négatif) (-3, -2)
Quadrant 4 (Q4) x > 0 (positif) y < 0 (négatif) (2, -3)
Origine x = 0 y = 0 (0, 0)
Axe des ordonnées x = 0 y ≠ 0 (0, 5)
Axe des abscisses x ≠ 0 y = 0 (7, 0)

🤖 Pourquoi c'est important pour les robots ?

Dans Scratch, le chat se déplace sur une scène qui EST un plan cartésien :

  • X va de -240 (gauche) à +240 (droite)
  • Y va de -180 (bas) à +180 (haut)
  • Le centre de la scène est l'origine (0, 0)

C'est EXACTEMENT le même système qu'utilisent les drones et robots pour se repérer dans l'espace ! 🚁

✏️ Exercice : Détecteur de Quadrant

Consigne

Crée un programme qui :

  1. Demande à l'utilisateur une coordonnée X
  2. Demande une coordonnée Y
  3. Analyse les valeurs et dit dans quelle zone du plan se trouve le point

Résultat attendu

Chat : "Donne-moi les coordonnées d'un point et je te dirai où il se situe."

Chat : "Quelle est la valeur de x?" → Utilisateur entre: 5
Chat : "Quelle est la valeur de y?" → Utilisateur entre: -3

Chat : "Le point (5, -3) est dans le quadrant 4"

Autres exemples de résultats :

  • (3, 7) → "Le point (3, 7) est dans le quadrant 1"
  • (-2, 4) → "Le point (-2, 4) est dans le quadrant 2"
  • (-5, -1) → "Le point (-5, -1) est dans le quadrant 3"
  • (0, 0) → "Le point (0, 0) est à l'origine du plan cartésien"
  • (0, 8) → "Le point (0, 8) est sur l'axe des ordonnées"
  • (6, 0) → "Le point (6, 0) est sur l'axe des abscisses"

Pseudo-code (Partie 1 : Introduction)

Cette partie est donnée complètement :

QUAND drapeau vert cliqué

METTRE [x] À 0
METTRE [y] À 0

DIRE "Donne-moi les coordonnées d'un point et je te dirai où il se situe." PENDANT 3 secondes

DEMANDER "Quelle est la valeur de x?" ET ATTENDRE
METTRE [x] À (réponse)

DEMANDER "Quelle est la valeur de y?" ET ATTENDRE
METTRE [y] À (réponse)

// === ICI COMMENCENT LES CONDITIONS MYSTÉRIEUSES === //

🧩 Pseudo-code (Partie 2 : Les Conditions Mystérieuses)

À toi de compléter les ??? ! Utilise le tableau des quadrants pour trouver les bonnes conditions.

// ═══════════════════════════════════════════════════
//  🟢 QUADRANT 1 — Le coin "tout positif"
// ═══════════════════════════════════════════════════

SI ( x ??? 0 ) ET ( y ??? 0 ) ALORS
    DIRE "Le point (...) est dans le quadrant 1" PENDANT 5 secondes
FIN SI


// ═══════════════════════════════════════════════════
//  🔵 QUADRANT 2 — X est parti se cacher à gauche...
// ═══════════════════════════════════════════════════

SI ( x ??? ) ET ( ??? ) ALORS
    DIRE "Le point (...) est dans le quadrant 2" PENDANT 5 secondes
FIN SI


// ═══════════════════════════════════════════════════
//  🟠 QUADRANT 3 — Le coin des déprimés (tout négatif)
// ═══════════════════════════════════════════════════

SI ( ??? ) ET ( ??? ) ALORS
    DIRE "Le point (...) est dans le quadrant 3" PENDANT 5 secondes
FIN SI


// ═══════════════════════════════════════════════════
//  🔴 QUADRANT 4 — X positif mais Y a le cafard
// ═══════════════════════════════════════════════════

SI ( ??? ) ET ( ??? ) ALORS
    DIRE "Le point (...) est dans le quadrant 4" PENDANT 5 secondes
FIN SI

🧩 Pseudo-code (Partie 3 : Les Cas Spéciaux)

Encore plus mystérieux ! Ces cas arrivent quand le point est pile sur un axe.

// ═══════════════════════════════════════════════════
//  ⚪ L'ORIGINE — Le centre de tout !
//  Indice : les deux coordonnées sont... nulles
// ═══════════════════════════════════════════════════

SI ( x ??? ) ET ( y ??? ) ALORS
    DIRE "Le point (...) est à l'origine du plan cartésien" PENDANT 5 secondes
FIN SI


// ═══════════════════════════════════════════════════
//  📍 AXE DES ORDONNÉES — La ligne verticale
//  Indice : x vaut zéro, mais y peut être n'importe quoi (sauf zéro)
// ═══════════════════════════════════════════════════

SI ( x ??? ) ET ( NON ( y ??? ) ) ALORS
    DIRE "Le point (...) est sur l'axe des ordonnées" PENDANT 5 secondes
FIN SI


// ═══════════════════════════════════════════════════
//  📍 AXE DES ABSCISSES — La ligne horizontale  
//  Indice : c'est l'inverse du cas précédent !
// ═══════════════════════════════════════════════════

SI ( ??? ) ET ( ??? ) ALORS
    DIRE "Le point (...) est sur l'axe des abscisses" PENDANT 5 secondes
FIN SI

💡 Indices Progressifs

🔍 Indice 1 : Les symboles de comparaison

Dans Scratch, tu as accès aux blocs de comparaison (catégorie Opérateurs, vert clair) :

  • ( ) > ( ) → plus grand que
  • ( ) < ( ) → plus petit que
  • ( ) = ( ) → égal à

🔍 Indice 2 : Combiner deux conditions

Pour vérifier deux choses en même temps, utilise le bloc ET :

( condition1 ) ET ( condition2 )

Ce bloc est dans la catégorie Opérateurs (vert clair).

🔍 Indice 3 : Le bloc "NON"

Le bloc NON inverse une condition :

  • NON (x = 0) signifie "x est différent de 0"

C'est utile pour les axes ! (ex: sur l'axe Y, x=0 mais y≠0)

🔍 Indice 4 : Solution du Quadrant 1

SI ( x > 0 ) ET ( y > 0 ) ALORS

Le quadrant 1, c'est quand X ET Y sont tous les deux positifs (supérieurs à zéro).

🔍 Indice 5 : Logique des quadrants

Quadrant X Y
Q1 > 0 > 0
Q2 < 0 > 0
Q3 < 0 < 0
Q4 > 0 < 0

Tu vois le pattern ? 🧠


⚠️ Attention à l'ordre !

L'ordre des conditions est important ! Si tu mets la condition de l'origine à la fin, elle ne sera peut-être jamais vérifiée...

Conseil : Teste ton programme avec ces valeurs pour vérifier que tout marche :

  • (5, 3) → Q1
  • (-2, 4) → Q2
  • (-3, -7) → Q3
  • (8, -1) → Q4
  • (0, 0) → Origine
  • (0, 99) → Axe Y
  • (42, 0) → Axe X

🏆 Défi Bonus : Afficher le point sur la scène !

Une fois que ton programme détecte le quadrant, fais bouger le chat vers ce point !

Pseudo-code du bonus

// Après avoir affiché le quadrant...

ALLER À x: (x) y: (y)
DIRE "Me voilà!" PENDANT 2 secondes

💡 Indice

Le bloc "aller à x: ... y: ..." est dans la catégorie Mouvement (bleu).

⚠️ Attention : si l'utilisateur entre des valeurs trop grandes (ex: x=500), le chat sortira de l'écran ! La scène Scratch va de -240 à +240 en X, et de -180 à +180 en Y.

🏆 Défi Expert : Boucle infinie

Modifie ton programme pour qu'il demande des coordonnées en boucle jusqu'à ce que l'utilisateur dise "stop".

Pseudo-code

RÉPÉTER JUSQU'À ( continuer = "non" )
    
    // ... tout le code des questions et conditions ...
    
    DEMANDER "Veux-tu continuer? (oui ou non)" ET ATTENDRE
    METTRE [continuer] À (réponse)
    
FIN RÉPÉTER

DIRE "À bientôt!" PENDANT 2 secondes

✅ Checklist de validation

Concept Je sais faire
Utiliser les comparaisons (>, <, =)
Combiner des conditions avec ET
Utiliser NON pour inverser une condition
Enchaîner plusieurs blocs SI
Faire bouger un sprite aux coordonnées (x, y)

🤖 Le lien avec les robots

Ce que tu viens de programmer, c'est exactement ce que fait un robot ou un drone pour se repérer !

Scratch Robot réel
Coordonnée X Position gauche/droite
Coordonnée Y Position avant/arrière
aller à x: y: Commande de déplacement
Quadrants Zones de la pièce/du terrain

Quand tu programmeras le drone Tello en Python, tu utiliseras les mêmes concepts :

drone.go_xyz_speed(x, y, z, speed)

Série suivante : Dessiner des figures géométriques avec le stylo