DrGeoII

DrGeoII
DrGeoII
Drgeo rtf m34b5ce77.png
Développeur Hilaire Fernandes
Dernière version 10.12 (5 3 2011) [+/−]
Environnement Squeak
Type Géométrie dynamique
Licence GNU GPL
Site web http://community.ofset.org/index.php/DrGeo

DrGeoII (ou Dr. Geo II) est un logiciel libre de géométrie dynamique créé par Hilaire Fernandes sur plateforme Squeak. Grâce à une machine virtuelle, le logiciel est donc multiplateforme, tournant notamment sous Mac OS X, Windows, Linux et Sugar (IHM). Ce dernier cas fait de DrGeoII un projet phare (et même Pharo) du projet OLPC.

Sommaire

Format de fichier

DrGeo a son propre format de fichier, avec l'extension fgeo pour les figures (ou dossiers de figures). En fait les fichiers DrGeoII sont enregistrés en xml.

Objets

Objets prédéfinis

CourbeTangente2.png


DrGeoII 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

DrGeo peut lier un point à une courbe, et construit des parallèles et perpendiculaires à une droite donnée, et les images d'objets par symétrie axiale, symétrie centrale, translation, rotation et homothétie. Ces transformations ne s'appliquent pas nécessairement à des points, par exemple en sélectionnant un axe de symétrie puis un cercle (au lieu d'un point), on construit un cercle (le symétrique du premier cercle par rapport à l'axe). CaRMetal offre une fonctionnalité analogue. Mais DrGeoII permet de construire aussi le transformé d'un arc de cercle.

Propriétés des objets

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

ScriptPente.png

DrGeoII permet de créer des objets, et même des figures entières, par script. Le langage de script est Smalltalk, langage dans lequel a été conçu le logiciel, ce qui permet donc même de consulter le code source de DrGeoII depuis DrGeoII lui-même! On atteint alors le point culminant de la liberté numéro 1 de Richard Stallman qui autorise à consulter le source d'un logiciel libre, puisque la consultation du source ne nécessite pas l'installation d'un logiciel supplémentaire.

Dans la figure

Exemple numérique

Après avoir créé une variable numérique, par exemple 3, en cliquant sur éditer ou créer un script, on peut créer un script SmallTalk qui accepte ce nombre en entrée (parce qu'il y a un double-point dans la première ligne), et renvoie son carré:

carre: x
        ^ (x valueItem)*(x valueItem).

En cliquant sur "Utiliser un script" (après avoir sauvegardé celui-ci), et en choisissant le script carre puis le nombre 3, il reste à cliquer dans la partie blanche de la figure pour voir apparaître le 9 attendu. 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 DrGeoII.

On peut aussi créer dans le script une fonction comme blod d'instructions Smalltalk, et bénéficier de la coloration syntaxique, qui permet immédiatement (pour un non daltonien) de distinguer l'image des antécédents:

MaFonction.png

Exemple graphique

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 'du script sera ce point et pas un nombre. Pour définir une transformation par un script, il faut calculer l'abscisse et l'ordonnée) du nouveau point. Par exemple, comme (x + iy)2 = x2y2 + i(2xy), le carré d'un nombre complexe est donné par ce script, ayant pour objet d'entrée, un point préalablement créé:

carre: UnPoint
        |x y|
        x:=UnPoint point x.
        y:=UnPoint point y.
        x:=x*x-y*y.
        y:=2*(UnPoint point x)*(UnPoint point y).
        ^ x@y.

En sélectionnant ce script et en cliquant sur un point, on n'obtient (après un clic sur la partie blanche de la figure) qu'une écriture de coordonnées. Pour avoir vraiment un point, on doit choisir l'outil points par coordonnées et choisir l'écriture donnée par le script, en guise de coordonnées. On peut alors manipuler le carré d'un nombre complexe (chercher par exemple l'image d'un cercle par cette transformation...)

Création de figure par script

Le langage de script permet aussi de construire des figures complexes. Pour pouvoir réaliser cela, il est nécessaire de décrire la construction en langage Smalltalk dans un fichier texte créé par Control+K en dehors de toute figure DrGeoII. DrGeoII va alors interpréter ce script, en construisant la figure.

Par exemple, le triangle de Sierpinski dynamique (les sommets sont libres) est obtenu avec le script suivant:

|figure a b c m de|
figure := DrGeoCanvas new.
a:=figure point: -3@(-2).
b:=figure point: 3@(-2).
c:=figure point: 0@2.
m:=figure point: 0.5@0.2.
m hide.
1 to: 400 do: [:i|
        de:=(1 to: 3) atRandom.
        de=1 ifTrue: [m:=figure middleOf: a and: m. m color: Color blue.].
        de=2 ifTrue: [m:=figure middleOf: b and: m. m color: Color red.].
        de=3 ifTrue: [m:=figure middleOf: c and: m. m color: Color green.].
        m small round.].

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

Annexes

Sur les autres projets Wikimedia :

Géométrie dynamique
Logiciels
C.a.R. - Cabri Géomètre - GeoGebra - CaRMetal - DrGeo - Kig - GéoPlan - GéoSpace - GEONExT - TracenPoche

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article DrGeoII de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • CaRScript — Un CaRScript est un script pour CaRMetal. Le terme est un néologisme obtenu par apocope et aphérèse sur l expression CaRMetal JavaScript . Le langage des CaRScripts est donc JavaScript. Mais des instructions spécifiques à la géométrie dynamique… …   Wikipédia en Français

  • DrGeo — Développeur Hilaire Fernandes Dernière version 1.0 (31 12 2005) [ …   Wikipédia en Français

  • Kig — kde interactive geometry Exemple de construction d un cercle avec Kig …   Wikipédia en Français

  • Projet:Mathématiques/Liste des articles de mathématiques — Cette page n est plus mise à jour depuis l arrêt de DumZiBoT. Pour demander sa remise en service, faire une requête sur WP:RBOT Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”