Choose a langage

Évolution du logiciel CaRMetal

CaRMetal est disponible sur ce site depuis le 28 Octobre 2006. Le blog ci-dessous donne un aperçu de l'évolution du logiciel.

CaRMetal 4.2.1

1) La tortue dynamique mutante a été finalisée et est désormais bien intégrée au logiciel.

La tortue se programme dans un CaRScript.
On dispose désormais de boutons tortue dans l'assistant de scripts. Ces boutons génèrent du code tortue.

boutons 2D4
En 2D
boutons3D4
En 3D
Pièce(s) jointe(s):
Télécharger ce fichier (arbrePythagore-01.zirs)arbre de Pythagore sans macro[classeur CaRMetal]1 Ko
Télécharger ce fichier (arbrePythagore-par-macro.zirs)arbre Pythagore par macro[classeur CaRMetal]2 Ko
Télécharger ce fichier (poursuites.zirs)courbes de poursuite[classeur CaRMetal]1 Ko
Télécharger ce fichier (pytha3D-01.zir)arbre de Pythagore 3D[figure CaRMetal]190 Ko

Lire la suite : CaRMetal 4.2.1

CaRMetal 4.1.3

La tortue 2D et la tortue 3D peuvent désormais être utilisées dans une figure 3D.
C'est la nature du point auquel on attache la tortue qui détermine la nature de la tortue.

D'après une idée d'Alain Busser, le mouvement de la tortue a été "fluidifié" (pour une vitesse inférieure à 100, qui est la vitesse maximale).
Plus la vitesse est faible, plus la tortue décompose son mouvement, y compris pour tourner. Il s'agit d'une fonctionnalité purement cosmétique.

CaRMetal version 4.1

1) Apparition d'une "tortue LOGO" ( il s'agit plutôt d'une tortue Javascript) en 2D et en 3D.
Cette tortue est :

  • dynamique : les instructions peuvent prendre des expressions en paramètres et les constructions tortue sont alors dynamiques
  • "mutante" : la tortue a muté pour s'adapter à l'environnement de CaRMetal : elle crée des objets CaRMetal (points et segments) utilisables comme n'importe quel objet CaRMetal.

En fait, la tortue véhicule un mode alternatif de construction (en référentiel mobile).

La tortue se programme dans l'interface de script. Pour initialiser la tortue, il faut l'attacher à un point par l'instruction AttacherTortue().

Exemple : Soit deux points A et B. Le programme suivant :

AttacherTortue("A");
Viser("B");
pour i allant de 1 à 3 {
   Avancer("d(A,B)");
   TournerGauche(120);
   }

...crée un triangle équilatéral dynamique en A et B.


Et on peut ensuite utiliser ce triangle.

NB : les CaRCommandes Avancer et Reculer renvoient le nom du nouveau point créé et le nom du segment créé (dans un tableau de dimension 2). C'est fondamental, même si cela n'a pas été utilisé dans l'exemple ci-dessus.

Le programme fonctionnera également en 3D (pour obtenir le comportement attendu, remplacer d(A,B) par d3D(A,B)).

Dans le même script, la tortue peut ensuite être attachée à un autre point. La construction précédente n'en sera pas affectée.

Le langage utilisé est le Javascript (étendu et potentiellement francisé) de CaRMetal enrichi des CaRCommandes propres à la tortue.
Le détail de toutes les CaRCommandes tortue est consultable :

2) Le comportement du lecteur de scripts a été ajusté : SetIconSelection devient une CaRCommande beaucoup plus efficace.
Désormais, lors du lancement d'un script, les préférences sont d'abord enregistrées, puis restituées quand le script est terminé.
Cela permet d'utiliser simplement SetIconSelection pours séparer la partie construction (logique) de la partie aspect (apparence) dans les scripts.

3) La couleur de fond bleu n’est plus enregistrée quand on quitte une figure du disque de Poincaré.

4) Ajout des CaRCommandes Triangle et Quadrilatère, redondantes avec Polygone, mais plus simples à utiliser.

5) La CaRCommande SetRGBColor (ou MettreCouleurRVB) est désormais dynamique (= peut prendre des expressions en paramètres).

 

CaRMetal 4.1.2

La sortie de cette version est justifiée par une modification du comportement des CaRCommandes tortue Avancer() et Reculer().

Désormais, ces CaRCommandes renvoient le nom du dernier point et le nom du dernier segment créés sous forme d'un tableau Javascript (de dimension 2).
Autrement dit, on écrira :

  • p = Avancer(...)[0] pour récupérer le nom du point;
  • p= Avancer(...)[1] pour récupérer le nom du segment.

Si nécessaire, on crée un tableau qui contient les deux noms (pour ne pas appliquer deux fois la commande Avancer), comme pour la CaRCommande ExécuterMacro.
Les deux premiers paramètres (optionnels) de la fonction Avancer sont : le nom du point et le nom du segment.

Par ailleurs, on a ajouté la CaRCommande Libérer (redondante avec MettreFixe, mais plus simple).

CaRMetal version 4.0.2

Pour plus d'information sur la 3D, on peut consulter cet article sur mathémaTICE.

Cette version corrige un certain nombre de petits bugs :

  • système de recopie automatique des champs y3D et z3D;

  • lorsque qu'un point était attaché à un segment 3D, ses coordonnées restaient modifiables;

  • affichage des cordonnées 3D lors du preview;

  • en vue d'avion, de gauche, etc certaines coordonnées du genre 5.4564E-17 ont été fixées à 0;

  • problèmes collatéraux à la version française dans l'affichage des textes;

  • les macros de menu plan médiateur ne fonctionnaient pas dans certaines situations : elles ont été remplacées par une seule macro plan médiateur beaucoup plus légère (le "plan" est dilatable mais non tournant);

  • activation de la version francaise via le mode débutant de l'assistant de script;

 

Nouveautés :

  • le fichier de base pour la 3D a été optimisé (certains objets construits étaient inutiles);

  • la CaRCommande Move fonctionne désormais en 3D avec le paramètre supplémentaire attendu (troisième coordonnée);

  • amélioration du point 3D sur objet;

  • en 3D, le point O et les trois vecteurs de base et leurs extrémités ont été rendues ni supprimables ni renommables;

  • la vue d'avion a été modifié pour obtenir les axes en position "habituelle"; on a ajouté une vue de gauche;

  • on a ajouté les macros de menu suivantes : Plan parallèle Plan par Point, Plan perp Droite par Point, Droite parallèle Droite par Point;
    Remarque : pour obtenir les bonnes macros de menu sur Mac, on pourra si besoin se référer à ce passage sur les instructions d'installation;

  • on peut désormais écrire les CaRCommandes Point("A") ou Point3D("A") qui créent un point A aléatoirement, mais visible dans la fenêtre.

  • préservation des préférences lors de la création d'une nouvelle fenêtre 3D;

  • la couleur de fond de la figure (en 2D et en 3D) est désormais enregistrée; lors de la création d'une nouvelle figure, c'est cette couleur de fond qui sera utilisée par défaut;

  • Lors de la création d'une expression, la valeur par défaut du texte affiché (champ commentaire) n'est plus "Valeur" mais le nom de l'expression;

En vue d'une utilisation de CaRMetal totalement en français, on a ajouté cette page de syntaxe des CaRCommandes.

Par ailleurs, on a ajouté les deux nouvelles CaRCommandes IsIconSelected et SetIconSelection pour modifier provisoirement les préférences (et ainsi pouvoir séparer la création des objets et la détermination de leur aspect).