Découverte expérimentale des translations avec DGPad

samedi 23 mars 2013
par  Alain BUSSER

Extrait du programme de Seconde :

CONTENUS COMMENTAIRES
Définition de la translation
qui transforme un point
A
du plan en un point
B
.
À tout point
C
du plan, on associe, par
la translation qui transforme
A
en
B
,
l’unique point
D
tel que
[
AD
]
et
[
BC
]
ont même milieu.

Dans cette séquence pédagogique, on va donc demander à des élèves de créer la macro DGPad implémentant la translation (elle acceptera A et B en initiaux, ainsi que le point à translater) ; puis on l’utilisera d’abord sur des points, puis, grâce à des constructions de lieux, sur d’autres objets, ce qui fera découvrir progressivement les propriétés de la translation.

Macro

On construit donc trois points A, B et C [1] sur la figure :

Pour construire le milieu M de [BC], il n’y a pas besoin de construire le segment [BC], puisque le point B possède aussi l’outil milieu :

Outil à faire glisser vers C :

Ensuite c’est plus difficile puisqu’on veut construire D tel que M est milieu de [AD]. Spécialement pour les élèves qui souhaitent utiliser cet article pour tricher en TP, nous ne dirons pas comment faire ; disons simplement que DGPad a un outil pour cela, et que c’est au point M qu’on va l’appliquer :

Pour mieux distinguer les objets initiaux de l’objet final (le point D), on peut les colorier différemment :


Pour créer une macro, on sélectionne l’outil adéquat :

En sélectionnant le point A (comme objet initial) celui-ci est mis en exergue, et son nom apparaît automatiquement dans la liste des initiaux :

Lorsqu’on a sélectionné B et C, les points M et D sont également mis en exergue, mais dans une couleur différente : Ce sont des candidats à être objets finaux de la macro :

Cependant, M est juste un objet intermédiaire de la macro, on ne sélectionne donc que D, ce qui fait de la macro une transformation ponctuelle :

Il ne reste maintenant plus qu’à nommer la macro :

Distribution

Si on enlève de la figure les points A, B et C, M et D disparaitront aussi, mais pas la macro. En enregistrant le résultat comme une figure DGPad, celle-ci permettra donc d’appliquer des translations simplement en utilisant la macro (origine du vecteur d’abord, puis extrémité, puis le point à translater). Le contenu du fichier est du JavaScript :

On y apprend que $macros est un objet de DGpad (un tableau JavaScript), initialement vide [2] ; qu’à la page « translation », se trouvent deux propriétés et une fonction :

  1. La propriété name est une chaîne de caractères, accessible par $macros[« translation »].name ;
  2. la propriété parameters est un tableau de chaînes de caractères, signifiant que les trois initiaux sont des points ;
  3. la fonction exec a trois antécédents, notés A, B et C, et s’exécute avec $macros[« translation »].exec(O,I,P) si on veut appliquer au point P la translation qui envoie O sur I [3]. La fonction exec renvoie un tableau contenant les noms des objets finaux (ici seul le point D).

Cette notation avec des points peut paraître compliquée, mais elle permet à chaque macro d’avoir sa propre fonction exec.

Voici la version copiable-collable (l’original est téléchargeable en bas de l’article) :

// Macros :
$macros={};
$macros["translation"]={
        name:"translation",
        parameters:["point","point","point"],
        exec:
        function (A,B,C){
M=MidPoint("M",B,C);
D=Symmetry("D",M,A);
return [D];
}};

Voici la figure avec macro :

Isométrie

Dans la figure ci-dessous, les points bleus sont libres dans le plan, et les points rouges sont leurs translatés (les points A et B, en vert, désignant le vecteur) :

En manipulant cette figure, on vérifie que la translation conserve les longueurs [4].

Il résulte de la réciproque du théorème de Pythagore, qu’une translation conserve également les angles :

Droites

On démarre la figure avec la macro translation et on y ajoute, comme précédemment, les points A, B et deux autres points libres :

Mais plutôt que se concentrer sur leurs translatés, on les joint par une droite :

En sélectionnant cette droite, on peut y attacher un point :

Le voici en noir :

On définit le translaté de la droite comme le lieu des translatés du point noir ; on construit donc ce translaté (en rouge, avec la macro) :

Puisqu’il est l’image d’un point lié par la translation, ce point possède maintenant un outil lieu :

En l’appliquant, on a l’image de la droite par la translation :

Ce qui permet de conjecturer

  • que l’image d’une droite est une droite ;
  • qu’en plus elle est parallèle à la droite de départ
  • qu’en plus elle passe par les translatés des points qui définissent la droite...

Application

Une fois admises les conjectures précédentes [5], on peut donc construire l’image d’une droite par une translation :

  • on place sur la droite deux points mobiles (il faut que les points dépendent de la droite et non l’inverse) ;
  • on construit les images de ces deux points par translation ;
  • on joint les images en question par une droite.

Cette construction peut être convertie en une macro ayant A, B et la droite comme initiaux, et la droite translatée comme objet final :

Segments

Un exemple montrant un segment et son translaté se trouve dans l’onglet « isométrie » ; on y voit non seulement que le translaté d’un segment a la même longueur que celui-ci, mais aussi que ledit translaté est parallèle au segment de départ. Ce qui est d’ailleurs la conséquence de l’onglet précédent.

Du fait que la translation conserve les longueurs, on déduit que

  • le translaté d’un triangle isocèle est isocèle
  • le translaté d’un triangle équilatéral est équilatéral
  • le translaté d’un triangle rectangle est rectangle

On peut vérifier ces conjectures en manipulant le triangle bleu ci-dessous :

Mais comme ce sont des propriétés obtenues par déduction, on peut aussi les donner en devoir maison après le cours, et si on a un peu de temps, le réserver à l’étude des translatés de cercles :

Cercles

Sur la figure habituelle avec A et B (et la macro « translation »), on construit un cercle (par exemple, ici, de rayon fixe) :

Si on sélectionne ce cercle, on peut y attacher un point :

Le translaté du cercle étant défini comme le lieu des translatés de ce point, on utilise donc la macro « translation » pour construire le translaté en question (avec choix de A puis de B puis du point sur cercle) :

Ce-dessus le translaté a été colorié en rouge pour le distinguer des autres points ; comme ce point dépend d’un point sur cercle, il possède un outil lieu :

Le lieu apparaît alors en rouge sombre :

On peut alors conjecturer

  • que le translaté d’un cercle est un cercle ;
  • qu’en plus, il a le même rayon que le cercle initial ;
  • qu’en plus (en construisant son centre), son centre est le translaté du centre du cercle de départ...

nouvelle macro

Si en mode de création de macro, on sélectionne comme objets initiaux, les points A, B et le cercle de départ :

on voit qu’il est possible de choisir le lieu comme objet final ; en le faisant on a une macro construisant l’image d’un cercle par translation :

Voici le source de cette macro :

Toutefois, le translaté d’un cercle n’est pas un cercle mais un lieu ; pour avoir un cercle, il faut d’abord construire le centre du cercle à partir du cercle lui-même ; cette construction est laissée en exercice (indication : On peut attacher d’autres points au cercle).

Coordonnées

En affichant les axes de DGPad, on peut conjecturer le lien entre les coordonnées de points liés par une translation, et s’approprier la notion de coordonnées de vecteurs :

Pour mieux y voir, on peut attacher l’origine de l’un des représentants du vecteur à l’intersection des deux axes :

Cette figure permet d’ailleurs de vérifier expérimentalement que les coordonnées du vecteur allant de O à M sont les mêmes que les coordonnées de M...

JavaScript

Les boucles de JavaScript permettent d’itérer une ou plusieurs translations et donc de construire des frises et pavages

Algorithme pour une frise

  • on part de trois points d, e et f ;
  • on leur applique la translation allant de A à B ;
  • on joint les nouveaux points d, e et f par un triangle
  • on répète le tout dans une boucle.

La version JavaScript

// Macros :
$macros={};
$macros["translation"]={
        name:"translation",
        parameters:["point","point","point"],
        exec:
        function (A,B,C){
M=MidPoint("M",B,C);
STL(M,"h:1");
D=Symmetry("D",M,A);
return [D];
}};

a=Point("A",-5,-1);
STL(a,"c:#00aa00;s:3;sp:1");
b=Point("B",-3,-1);
STL(b,"c:#00aa00;s:3;sp:2");
S1=Segment("S1",a,b);
STL(S1,"c:#00aa00");
P3=Point("P3",-7,0);
P4=Point("P4",-6,2);
P5=Point("P5",-4,1);
Tri0=Polygon("Tri0","_P3,_P4,_P5");
STL(Tri1,"o:0.2");
[d,e,f]=["P3","P4","P5"];
for(n=1; n<20; n++){
        d=$macros["translation"].exec("A","B",d);
        STL(d,"h:1");
        e=$macros["translation"].exec("A","B",e);
        STL(e,"h:1");
        f=$macros["translation"].exec("A","B",f);
        STL(f,"h:1");
        t=Polygon("Tri"+n,"_d,_e,_f");
}

La frise obtenue est dynamique :

Algorithme pour un pavage

On rajoute un troisième point C :

  • On fait comme une frise, en itérant la translation allant de A à C ;
  • à chaque fois, on construit une frise en itérant la translation allant de A à B, sur le triangle obtenu.

La version JavaScript

// Macros :
$macros={};
$macros["translation"]={
        name:"translation",
        parameters:["point","point","point"],
        exec:
        function (A,B,C){
M=MidPoint("M",B,C);
STL(M,"h:1");
D=Symmetry("D",M,A);
return [D];
}};

a=Point("A",-5,-1);
STL(a,"c:#00aa00;s:3;sp:1");
b=Point("B",-3,-1);
STL(b,"c:#00aa00;s:3;sp:2");
c=Point("C",-4.9,-0.5);
STL(c,"c:#00aa00;s:3");
S1=Segment("S1",a,b);
STL(S1,"c:#00aa00");
S2=Segment("S2",a,c);
STL(S2,"c:#00aa00");
P3=Point("P3",-7,0);
P4=Point("P4",-6,2);
P5=Point("P5",-4,1);
Tri0=Polygon("Tri0","_P3,_P4,_P5");
STL(Tri0,"o:0.2");
[d,e,f]=["P3","P4","P5"];
for(n=1; n<16; n++){
        d=$macros["translation"].exec("A","B",d);
        STL(d,"h:1");
        e=$macros["translation"].exec("A","B",e);
        STL(e,"h:1");
        f=$macros["translation"].exec("A","B",f);
        STL(f,"h:1");
        t=Polygon("Tri"+n,d+","+e+","+f);
}
[d,e,f]=["P3","P4","P5"];
for(m=1; m<12; m++){
        d=$macros["translation"].exec("A","C",d);
        STL(d,"h:1");
        e=$macros["translation"].exec("A","C",e);
        STL(e,"h:1");
        f=$macros["translation"].exec("A","C",f);
        STL(f,"h:1");
        t=Polygon("Tr"+m+"0",d+","+e+","+f);
        [g,h,i]=[d,e,f];
        for(n=1; n<16; n++){
                g=$macros["translation"].exec("A","B",g);
                STL(g,"h:1");
                h=$macros["translation"].exec("A","B",h);
                STL(h,"h:1");
                i=$macros["translation"].exec("A","B",i);
                STL(i,"h:1");
                t=Polygon("Tr"+m+"x"+n,g+","+h+","+i);
        }
}

Le pavage est un peu lourd à ouvrir :

composition

En faisant « glisser » un segment de DGPad, on applique une translation ; ceci aussi aide à appréhender le fonctionnement de cette transformation.

Le fait qu’il est possible d’aller de plusieurs manières d’un point à un autre (par plusieurs trajets) illustre la commutativité de la composition des translations. Ceci permet de définir l’addition des vecteurs. Toutefois, bien que ce ne soit pas au programme, on peut aussi définir l’addition des vecteurs avec les coordonnées.


[1penser à sélectionner préalablement la lettre « A » en bas de la figure, cela active le renommage automatique des points dans l’ordre alphabétique

[2en fait il y a des macros système, auxquelles celle-ci sera ajoutée à l’exécution

[3les variables O, I et P sont en fait des noms de points de la figure.

[4on vérifie également en déplaçant le vecteur vert, que celui-ci reste égal à lui-même au cours du déplacement ; on voit également en déplaçant le segment bleu, le lien entre translation et parallélogramme.

[5par exemple, parce qu’on les a démontrées ?


Documents joints

la macro DGPad pour les translations
la macro DGPad pour les translations

Commentaires

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 8 mars 2017, 14h-18h, PTU, Saint-Denis, salle S23.6
- Mercredi 12 avril 2017, 14h-18h, campus du Tampon
- Mercredi 3 mai 2017, 14h-18h, PTU, Saint-Denis, salle S23.6
- Mardi 13 juin 2017, 14h-18h, campus du Tampon
- Mercredi 14 juin 2017, 14h-18h, PTU, Saint-Denis, salle S23.6

Semaine des mathématiques

Du 23 mars au 4 avril 2017 dans l’académie de la Réunion.


Brèves

DGPad sur MathémaTICE

lundi 20 mai 2013

La révolution tactile, toute naissante, en est probablement à ses premiers balbutiements. Et pourtant, ses premières réalisations contiennent déjà de petits bijoux. C’est le cas, pour ce qui est de la géométrie dynamique, de DGPad. En deux articles sur MathémaTICE, Yves Martin propose un vaste tour d’horizon de cette nouvelle application.

Sur le Web : DGPad sur MathémaTICE

Périmètre, aire et volume au collège

lundi 16 janvier 2012

Myriam Bouloc Rossato et Jean-Jacques Dahan ont conçu un scénario interactif pour enseigner les notions de périmètre, d’aire et de volume au collège à l’aide de la géométrie dynamique (Cabri 2Plus et Cabri 3D). Le document s’appuie sur des figures animables en ligne et sur des vidéos postées sur YouTube.

Sur le Web : Document interactif

Le théorème d’Ayme

dimanche 4 décembre 2011

Notre collègue Jean-Louis Ayme est à l’honneur : il vient de publier un nouveau théorème, le « théorème d’Ayme » ou « théorème des quatre points ».

Deux nouveaux points remarquables du triangle, les points X3610 et X3611, lui ont été attribués - ainsi qu’à Peter Moses - par Clark Kimberling dans son Encyclopedia of Triangle Centers.

Sur le Web : Le théorème d’Ayme

Geometry Géométrie Geometria

mercredi 2 novembre 2011

Geometry Géométrie Geometria est un site extrêmement riche réalisé par Jean-Louis Ayme : entièrement consacré à la géométrie du triangle, il mérite d’être visité longuement.

On pourra lire notamment le très attrayant volume 20 sur les cercles inscrits égaux, qui fait écho à des articles déjà publiés sur le site de l’IREM.

Statistiques

Dernière mise à jour

dimanche 26 mars 2017

Publication

735 Articles
Aucun album photo
128 Brèves
11 Sites Web
126 Auteurs

Visites

255 aujourd'hui
1177 hier
1966198 depuis le début
34 visiteurs actuellement connectés