CaRMetal | |
Développeurs | René Grothmann, Éric Hakenholz |
---|---|
Dernière version | 3.5.2 (25 avril 2010) [+/−] |
Environnement | avec Java 1.6.* |
Type | Géométrie dynamique |
Licence | GNU GPL |
Site Web | [1] |
modifier |
CaRMetal est un logiciel de géométrie dynamique, créé par Éric Hakenholz en 2006, à partir du moteur de C.a.R., de René Grothmann. Le logiciel est en Java (langage), libre (placé sous GPL) et multiplateforme. Il tire son nom de la finition « métal brossé » de l'interface Swing (Java).
Basé sur l'a-modalité des boîtes de dialogue, CaRMetal est conçu pour que l'utilisateur soit le plus possible en engagement direct. Le fil à la patte en est l'aboutissement ultime, ce qui donne à CaRMetal un intérêt même pour l'enseignement de la géométrie à l'école primaire! Les élèves du collège, quant à eux, ont droit à une préhension immédiate de l'outil grâce à l'a-modalité mais aussi à des icônes idéographiques et pas textuelles pour représenter les outils.
La création de macros est assez conviviale, et CaRMetal est fourni avec une bibliothèque de macros assez achalandée. Outre les outils classiques de création de points, cercles, droites et polygones, on peut aussi construire des coniques, des représentations graphiques de fonctions, des lieux de points ou enveloppes de droites, et même de lignes de niveau. Le repère étant systématiquement orthonormé, la représentation graphique de certaines fonctions est parfois difficile à voir. Lorsqu'une transformation a été définie pour un point, on peut l'appliquer à un ensemble de points. Un point peut être fixé à une courbe mais aussi à l'intérieur d'un cercle ou d'un polygone.
CaRMetal exporte aux formats png, svg et html. Le format de fichier (extension "zir") est d'ailleurs une description de la figure au format xml. Les propriétés des objets (comme leur couleur ou leur numéro de calque) peuvent être rendues dépendantes de grandeurs numériques via des expressions booléennes. Les textes, y compris le nom des objets, peuvent être écrits en LaTeX avec des expressions dynamiques. C'est la bibliothèque HotEqn qui gère le LaTeX.
CaRMetal est décrit comme un logiciel "2,5D"; en effet s'il paraît exagéré de considérer CaRMetal comme un logiciel de géométrie dans l'espace, il s'en rapproche tout de même un peu, avec des figures en perspective cavalière, que l'on peut faire pivoter à l'écran, non par les méthodes classiques en 3D que sont les angles d'Euler et les quaternions, mais en faisant glisser un point (invisible) sur l'écran. De cette manière, les mouvements de la figure sont plus réversibles qu'avec les quaternions. En effet, la multiplication des quaternions n'est pas commutative, ce qui implique qu'en refaisant les mouvements de la souris à l'envers, on ne revient pas tout-à-fait à la configuration initiale (avec un logiciel comme Géoplan-GéoSpace). Le mouvement réversible de CaRMetal paraît plus facile à contrôler pour certains utilisateurs.
Dans CaRMetal, les objets peuvent être munis de magnétisme, qui leur permet d'être attirés vers des objets ou des endroits particulièrement dignes d'intérêt de la figure. Les animations peuvent être multiples (plusieurs points peuvent bouger en même temps sur des objets auxquels ils sont liés). Les animations ne sont pas bloquantes, on peut continuer la figure pendant les animations, ce qui autorise des types d'investigation spécifiques. Un outil appelé Monkey fait bouger tous les points mobiles d'une figure en suivant une marche aléatoire bornée. Il permet de vérifier la solidité de la construction (résistance au mouvement) ou encore de tester des conjectures. Son utilisation dans les exerciciels leur confère la possibilité de donner une note de qualité à la construction de l'élève. Les figures peuvent être regroupées en classeurs, où elles sont repérées par des onglets.
CaRMetal est aussi doté d'un langage de script : JavaScript (avec l'interpréteur rhino de la fondation Mozilla). Cette fonctionnalité qui permet de construire des objets complexes comme des fractales ou des tableaux de fils, a pour conséquence d'extraire CaRMetal du contexte de la géométrie dynamique, et d'en faire un outil d'enseignement de l'algorithmique. Deux néologismes sont apparus: Un CaRScript est un script écrit en JavaScript sous CaRMetal, et un carscripticiel est un exerciciel dont le but n'est pas une construction géométrique mais l'évaluation d'un CaRScript. Le concept d'exerciciel d'algorithmique semble inédit.