Mathématice, intégration des Tice dans l'enseignement des mathématiques  
Sommaire > N°34 - mars 2013 > Les "gestures" en géométrie

Les "gestures" en géométrie
Moteur de recherche
Mis en ligne le 11 mars 2013, par Alain Busser

L’interface des tablettes tactiles étant de par sa nature dépourvue de bouton à enfoncer, on ne peut pas "cliquer" avec un tel objet. Pour y remédier, les logiciels sur tablettes graphiques doivent reconnaître des motifs tracés à la souris (sur ordinateur) ou au(x) doigt(s) : Les "gestures".

Autres articles d’Alain Busser

La reconnaissance de formes est un produit de l’intelligence artificielle (couramment pratiquée dans les logiciels d’OCR) ; elle est citée en enseignement de spécialité en TS comme application des matrices. Les gestures sont des formes géométriques (par exemple, des lettres) reconnues dynamiquement, qui permettent l’économie de menus déroulants (par exemple, dessiner la lettre "M" pour lancer Maxima).

Blender

Blender est un logiciel de modélisation en 3D, à l’origine célèbre pour l’usage abusif de raccourcis clavier (parce que les menus cachaient l’écran) qui le rendait difficile à utiliser pour les débutants qui ne connaissaient pas par cœur les raccourcis clavier en question. Aujourd’hui, son éditeur de fonctions et sa console Python en font un outil intéressant pour la géométrie dans l’espace. Et les raccourcis claviers sont complétés par des gestures.

Cela occasionne quelques surprises pas toujours agréables si on essaye de déplacer un objet mal sélectionné :

  • Si on souhaite déplacer un cube vers la droite, puis qu’on se ravise et qu’on le déplace vers le haut, Blender interprète la combinaison des gestes comme un tracé d’arc de cercle, qui, dans le langage des gestures Blender, signifie "rotation" : Le cube tourne au lieu d’aller vers le haut à droite...
  • Si on déplace le cube vers la droite, puis qu’on se ravise et qu’on tente de revenir au point de départ, Blender interprète la combinaison des deux translations comme le tracé d’un angle, qui, dans le langage Blender, signifie "homothétie" : Le cube grandit ou rapetisse au lieu de revenir au point de départ.
  • Si on trace un trait à peu près droit, le cube est translaté, mais la translation ne s’effectue qu’après le tracé de la gesture ; au début ça surprend...

Ceci dit, Blender est surtout connu pour ses raccourcis clavier, et utiliser Blender sur une tablette tactile ne doit pas être facile, surtout si on veut le faire en Python...

GeoGebra

(extrait de la rubrique-à-brac, où Marcel Gotlieb explique l’invention du cercle)

Depuis la version 4.2, GeoGebra est muni d’un outil "stylo" qui permet de dessiner des objets géométriques à la main.

Dessiner un triangle peut mener à des surprises si l’un des côtés n’est pas assez droit :

Mais en général, si la figure est douteuse, elle ne se crée pas du tout ; ainsi, il n’a pas été possible de tracer un cercle qui soit reconnu comme autre chose qu’un cercle (voir onglet suivant) :

Et les quadrilatères aussi sont bien reconnus :

Impossible de tracer un pentagone avec cet outil (sans doute parce que les pentagones ressemblent trop à des cercles, et qu’il a fallu faire un choix).

Sketchometry

(extrait de la rubrique-à-brac, où Marcel Gotlieb explique l’invention du cercle)

Sketchometry est écrit en JavaScript donc a priori disponible sur toutes les tablettes ; et utilisable aussi sur ordinateur puisque ce "logiciel" tourne sur navigateur Internet. En fait, le moteur de géométrie est celui de JSXGraph et sketchometry est une interface transformant JSXGraph en un logiciel de géométrie dynamique. Les figures construites en ligne sont enregistrées sur le serveur de l’université de Bayreuth.

L’interface de sketchometry est belle et épurée :

(ci-dessus, la palette des propriétés apparaît, pour colorier le cercle circonscrit en bleu et changer l’épaisseur de son trait).

Pour créer un point, on touche l’écran et on relâche de suite, sans bouger avant (on "pique" l’écran). Si l’endroit où on pique est un point existant, on sélectionne ce point ; dans ce cas on peut déplacer le point avant de lâcher.

C’est quand on dessine une courbe à l’écran que des choses nouvelles et intéressantes se produisent.

Si on trace un trait à peu près à angle droit, sketchometry reconnaît une perpendiculaire (hauteur d’un triangle par exemple), et sélectionne automatiquement le point et la ligne droite les plus proches du tracé. Mais si le trait est à peu près droit, sketchometry reconnaît une droite comme l’indique le message "Line" en haut :

En lâchant, on crée effectivement une droite (déplaçable à l’écran) :

Les courbes fermées sont plus déroutantes. Ainsi, un triangle arrondi est reconnu comme un cercle :

Alors qu’un triangle à peine plus anguleux est bien reconnu comme un triangle :

De même, un carré à bords un peu trop arrondis est reconnu comme un cercle :

et affiché comme tel :

Le même, mais en ne refermant pas tout à fait le tracé :

devient un quadrilatère

Ceci est nécessaire pour des utilisateurs qui, à l’instar de l’auteur, ne savent pas dessiner de cercles très arrondis, et pour lesquels ce genre d’outil nécessite une certaine tolérance aux écarts de circularité...

D’autres gestures sont plus faciles à utiliser : Le cercle défini par deux points s’obtient en dessinant un "U" dont une branche passe par le centre du cercle, et l’autre branche passe par un point du cercle ; une bissectrice s’obtient en dessinant l’angle dont on veut la bissectrice intérieure. Un point d’intersection s’obtient en cliquant sur l’intersection...

DGPad

Last but not least, DGPad, programmé en JavaScript à l’instar de Sketchometry [1], est le petit frère de CaRMetal, puisqu’ils ont le même papa. C’est un logiciel de géométrie dynamique pour tablettes tactiles (mais conçu pour fonctionner correctement aussi sur ordinateur), qui, outre l’utilisation de gestures, montre quelques avancées jusqu’alors inédites en matière d’engagement direct (détails ci-dessous). Il est très facile d’intégrer une figure DGPad dans l’ENT et son affichage se fait sans heurt ; par exemple voici une figure DGPad intégrée dans cet article :

La figure, au chargement de la page, montre un triangle ABC, son cercle inscrit (en rouge) et son cercle d’Euler (en bleu) ; la figure illustre le théorème de Feuerbach : Les deux cercles sont toujours tangents, comme on peut le vérifier par un mouvement des sommets ou des côtés du triangle dans la figure ci-dessus.

  • Une grande différence entre DGPad et les outils présentés dans les onglets précédents, c’est que le cercle ne se dessine pas par gesture : L’auteur de DGPad a choisi de privilégier les polygones sur les cercles, et ceux-ci n’ont pas de limite au nombre de côtés : Seules les parties anguleuses des gestures délimitent un sommet de plus. On termine le polygone en lâchant l’écran et cela permet même l’économie du dernier côté du polygone ; ainsi, on dessine un angle pour avoir un triangle, trois côtés pour un quadrilatère etc. Par exemple, en dessinant un "V" on a un triangle, en dessinant un "U" on a un quadrilatère.
  • DGPad est capable de faire la différence entre un segment, une droite et une demi-droite, selon la position relative des points de départ et d’arrivée de la gesture : À l’usage on a l’impression que l’outil est télépathe et devine l’intention de l’utilisateur.
  • Pour créer un point libre dans le plan, on "pique" l’écran dans une zone vide ; si, à la place, on effleure une ligne déjà construite (le geste fait penser à la mise en mouvement d’une corde de guitare avec le plectre), un point est créé sur la ligne.
  • Une fois qu’un objet est créé, on peut le sélectionner par un pointage court [2], puis le déplacer (même si c’est une ligne) ou continuer la construction à partir de l’objet. Là, l’impression de télépathie s’accentue : La palette d’outils qui apparaît alors est contextuelle. Par exemple, si on sélectionne un segment, on ne voit que ce qui peut être appliqué à un segment : le dernier outil est la médiatrice du segment :

    que l’on peut déplacer par un pointer-glisser (le segment bouge avec), comme on peut le vérifier ci-dessus en bougeant l’un des points, le segment ou sa médiatrice. Ainsi, non seulement un bipoint possède une médiatrice, mais un segment aussi [3]. En bref, avec DGPad, lorsqu’on veut choisir un outil, on le fait parmi ceux qui sont pertinents après le choix de l’objet auquel on veut appliquer l’outil [4]. Et pour peu que le segment ait ses extrémités liées, sa palette s’enrichit de l’outil "lieu" [5]...

  • Lorsqu’on clique sur l’outil "macros", on voit apparaître les macros de bibliothèque, et la sélection des objets initiaux laisse visibles les objets qui en dépendent ; parmi ceux-ci il ne reste alors plus qu’à choisir les objets finaux qui définiront la macro ; sans avoir à préciser ce qu’on est en train de choisir [6]. On peut parler d’inférence automatique de macros.

Pour finir ce rapide tour d’horizon de DGPad, tels des œufs de Pâques, deux des copies d’écran de cet onglet sont en fait des figures DGPad manipulables en ligne ; ce qui n’a guère alourdi l’article ; on peut donc mettre en ligne, par exemple sur un ENT, des figures légères et manipulables. Les utilisateurs de Moodle apprécieront. En plus, les figures s’enregistrant dans le "nuage", deux élèves distants (voire plus) peuvent travailler simultanément sur la même figure...

Bac à sable DGPad

Voici de quoi s’entraîner un peu avec les gestures de DGPad :

Exercice 1

Essayer de dessiner un "V" majuscule dans la figure ci-dessous :

Que s’est-il passé ?

  • Lorsque le pointeur est arrivé sur l’écran, DGPad a supposé que l’on voulait construire un point à cet endroit : La probabilité que l’intention de l’utilisateur ait été de construire un point, était forte.
  • Au bout d’une fraction de seconde, le pointeur étant déplacé mais sans cesser le contact, DGPad a inféré que c’est plutôt une ligne droite qui était en cours de construction. C’est une inférence bayésienne puisque la probabilité conditionnelle, que c’est une droite, sachant que le pointeur va tout droit, est maintenant plus forte que la probabilité conditionnelle que ce soit un point, sachant que le pointeur a bougé.
  • Puis est intervenu un angle dans le tracé, et maintenant la probabilité conditionnelle la plus forte est celle que ce soit un polygone, sachant qu’il y a un angle : DGPad cherche dorénavant à construire un polygone.
  • Enfin au relâcher, il n’y a qu’un seul angle, et la probabilité conditionnelle la plus forte est celle que l’intention de l’utilisateur était de construire un triangle : Construction terminée.

Remarque : S’il y a plus de trois sommets, c’est que DGPad a détecté un deuxième angle dans la gesture, et la responsabilité en incombe entièrement à l’utilisateur...

Exercice 2

Essayer maintenant de tracer un "U" un peu anguleux dans la figure ci-dessous :

Même principe : Les trois côtés d’un quadrilatère présents à la fin de la construction, se ferment en un quadrilatère.

Exercice 3

Essayer de toucher la droite ci-dessous : Un point devrait apparaître, et il devrait être attaché à la droite.

Pas facile ! En fait, si on démarre la caresse trop près de la droite, on saisit et déplace la droite ; si on démarre la caresse trop loin, on construit une autre droite ; mais avec un peu d’entraînement, on finit par acquérir le "coup de main" ; sinon, il reste toujours la palette contextuelle. D’ailleurs, celle-ci construit des objets différents : Ci-dessous le triangle de gauche a été construit avec une gesture en "V" majuscule ; celui de droite avec la palette contextuelle :

On voit que le triangle de gauche n’est pas un polygone mais trois segments (que l’on peut sélectionner individuellement, par exemple pour les déplacer) ; alors que celui de droite est vraiment un polygone, déplaçable intégralement.

Web Shape

MyScript WebShape est un peu hors sujet puisqu’il ne fait pas de géométrie dynamique, mais les algorithmes de reconnaissance de forme sont assez similaires aux logiciels décrits ici. On peut tester WebShape en suivant ce lien.

Comme WebShape se veut utile à ceux qui doivent dessiner des diagrammes, les quadrilatères sont souvent des rectangles aux bords verticaux ou horizontaux, les polygones à plus de 5 côtés deviennent des cercles, les cercles trop aplatis deviennent des ellipses etc.

Remarque : La reconnaissance de formes appliquée dans WebShape fait appel à de la statistique...


notes

[1et, soit dit en passant, que Snap !, successeur de Scratch, qui est donc à l’heure actuelle le meilleur outil d’algorithmique sur tablette, puisqu’il permet de se passer presque totalement de l’encombrant clavier virtuel de celle-ci.

[2le pointage long ouvre la palette des propriétés de l’objet, qui permet de modifier l’épaisseur des traits, le nom, la couleur etc.

[3Les deux peuvent être définies comme axe de symétrie de l’objet initial, segment ou bipoint ; mais dans ce dernier cas on peut aussi définir la médiatrice comme lieu des points équidistants des deux points.

[4On constate l’absence de translations et de vecteurs. L’activité proposée en Seconde dans le programme de 2010 prend ici tout son sens, avec la création d’une macro qui permet à l’élève de définir lui-même l’outil "translation" ; le lien avec les milieux est alors mis en action...

[5qui permet de refaire assez rapidement le TP de l’échelle qui glisse le long du mur.

[6Cette façon télépathique de définir des macros est en phase avec le programme d’algorithmique, qui insiste sur les notions de données entrées (les objets initiaux), de données de sortie (les objets finaux) et d’instructions séquentielles (les étapes intermédiaires)

Réagir à cet article
Vous souhaitez compléter cet article pour un numéro futur, réagir à son contenu, demander des précisions à l'auteur ou au comité de rédaction...
À lire aussi ici
MathémaTICE est un projet
en collaboration avec
Suivre la vie du site Flux RSS 2.0  |  Espace de rédaction  |  Nous contacter  |  Site réalisé avec: SPIP  |  N° ISSN 2109-9197