DrGeo

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant un logiciel image illustrant l’éducation
Cet article est une ébauche concernant un logiciel et l’éducation.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Consultez la liste des tâches à accomplir en page de discussion.

DrGeo
Logo

DrGeo screenshot of a Newton telescope model. et Capture d'écran de DrGeo d'un modèle de télescope de Newton
DrGeo screenshot of a Newton telescope model. et Capture d'écran de DrGeo d'un modèle de télescope de NewtonVoir et modifier les données sur Wikidata

Développeur Hilaire Fernandes
Dernière version 16.03 ()[1]Voir et modifier les données sur Wikidata
Environnement Windows, GNU/Linux, Mac OS X et Android
Type Géométrie dynamique
Licence GNU GPL
Site web drgeo.euVoir et modifier les données sur Wikidata

DrGeo est un logiciel libre de géométrie dynamique créé par Hilaire Fernandes sur plateforme Gnu/Linux.

Formats de fichier[modifier | modifier le code]

DrGeo a son propre format de fichier, sans extension. Il peut exporter en PNG, en PostScript, en LaTeX ou en FlyDraw.

Objets[modifier | modifier le code]

Objets prédéfinis[modifier | modifier le code]

User defined function plotted with its dynamic tangent
Curve & tangent

DrGeo construit des points, y compris d'intersection, des droites, des segments et vecteurs, des cercles, des lieux de points, des polygones, des arcs de cercle.

Transformations[modifier | modifier le code]

DrGeo peut lier un point à une courbe, et construit des parallèles et perpendiculaires à une droite donnée, et les images de points par symétrie axiale, symétrie centrale, translation, rotation et homothétie.

Propriétés des objets[modifier | modifier le code]

On peut modifier a posteriori la couleur et le nom d'un objet, mais ceci se fait avec une boîte de dialogue modale qui cache la figure.

Langage de script[modifier | modifier le code]

scripts

Cette section est obsolète et devrait être corrigée. Dr. Geo utilise Smalltalk comme langage d'implémentation et de script -- voir la version anglaise de l'article.

DrGeo permet de créer des objets par un langage de script, qui n'est pas propre à DrGeo puisqu'il s'agit de Scheme.

Dans la figure[modifier | modifier le code]

Après avoir créé une variable numérique, par exemple 3, en créant un objet de type script dans la figure, et en cliquant sur le nombre, on crée un script accessible dans la figure, et admettant en entrée la variable numérique, qui s'appelle automatiquement a1. Pour implémenter la fonction carré, on peut mettre dans le script

(define x (getValue a1))
(* x x)

La variable x est donc affectée par la variable numérique a1 puis son carré est calculé (c'est le produit de x par lui-même) et automatiquement affiché comme une variable numérique, dans l'exemple présent, on verra donc un 9 (puisque ). Ensuite on peut créer une macro avec le 3 comme objet initial et le 9 comme objet final, qui implémente la fonction carré comme objet DrGeo.

On peut également obtenir des variables numériques par sélection d'objets géométriques et lecture de leurs grandeurs (longueur, angle, coordonnées etc). Par exemple, si lors de la création d'un script, on sélectionne un point, l'argument a1 sera ce point et pas un nombre. Pour définir une transformation par un script, il faut créer deux objets par script (un pour l'abscisse et un pour l'ordonnée) parce que la sortie d'une fonction Scheme est nécessairement un nombre. Par exemple, comme , le carré d'un nombre complexe est donné par deux scripts, chacun ayant pour objet d'entrée, le point préalablement créé.

Pour la partie réelle:

(define x (car (getCoordinates a1)))
(define y (cadr (getCoordinates a1)))
(- (* x x) (* y y))

et pour la partie imaginaire:

(define x (car (getCoordinates a1)))
(define y (cadr (getCoordinates a1)))
(* 2 x y)

Une fois ces deux nombres présents à l'écran, on peut créer un point par ses coordonnées, en lui donnant bien entendu pour coordonnées les deux nombres trouvés, et définir une macro pour la transformation ainsi matérialisée (en choisissant le premier point pour objet initial, et le point défini par coordonnées comme objet final).

Création de figure par script[modifier | modifier le code]

Lorsqu'un script est inséré dans la figure, la valeur numérique retournée par celui-ci est affichée, et peut être réutilisée dans la figure. Cependant l'avantage essentiel d'un langage de script est la possibilité qu'il offre de construire des figures complexes. Pour pouvoir réaliser cela, il est nécessaire de décrire la construction en langage Scheme dans un fichier texte ayant l'extension scm. DrGeo va alors interpréter ce fichier, en construisant la figure.

Par exemple, la version récursive du triangle de Sierpinski dynamique (A, B et C sont libres) est obtenue avec le script suivant:

(new-figure "Sierpinski")
(define (sierpin p1 p2 p3 n)

(let* (  
       
    (p4 (Point "" milieu-2pts p2 p1))
    (p5 (Point "" milieu-2pts p2 p3))
    (p6 (Point "" milieu-2pts p3 p1))

    (q1 (Polygone "" npoints p1 p4 p6))
    (q2 (Polygone "" npoints p2 p4 p5))
    (q3 (Polygone "" npoints p3 p5 p6)))  
 
   
    (if (> n 1)
    (begin
    (envoi q1 masquer)
    (envoi q2 masquer)
    (envoi q3 masquer)))    
   
    (envoi p4 masquer)
    (envoi p5 masquer)
    (envoi p6 masquer)
     
    (if (> n 0)
    (begin 
     (sierpin p1 p4 p6 (- n 1))
     (sierpin p2 p4 p5 (- n 1))
     (sierpin p3 p5 p6 (- n 1))))))

(soit Point "A" free -3 -1)
(soit  Point "B" free 3 -1)
(soit Point "C" free 0 3)

(sierpin A B C 5)

Cette version récursive est à comparer avec la version itérative de Kig et avec le CarScript, lui aussi itératif.

Continuation[modifier | modifier le code]

DrGeo a fait place à DrGeoII qui est multiplateforme.

  1. http://www.drgeo.eu/news/drgeo1603c