Kig

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
kde interactive geometry
Image illustrative de l'article Kig
Logo

Exemple de construction d'un cercle avec Kig
Exemple de construction d'un cercle avec Kig

Développeurs Devriese, Paolini, Toscano, Pasquarelli, Gatti, Gajdos
Dernière version 1.0 ()
Environnement KDE
Type Géométrie dynamique
Licence GNU GPL
Site web http://edu.kde.org/kig/

Kig (pour KDE interactive geometry) est un logiciel de géométrie dynamique tournant sous environnement KDE. Spécialisé dans la géométrie supérieure, il possède un langage de script, Python, qui lui permet de construire des figures d'une complexité remarquable.

Plateforme[modifier | modifier le code]

Kig fait intégralement partie du projet Kde-Edu, un paquet de logiciels consacrés à l'éducation qui tourne sous KDE.

Formats de fichiers[modifier | modifier le code]

Outre son propre format de fichier (extension "kig") qui est une description de la figure au format xml, Kig est capable d'exporter en svg ou en LaTeX, et d'importer en partie les figures aux formats DrGeo et Cabri Géomètre.

Objets[modifier | modifier le code]

Pour construire trois points par exemple, on doit sélectionner trois fois de suite l'outil point, Kig ne gardant pas en mémoire l'outil sélectionné.

Une fois construits, les objets sont déplaçables avec la souris, et on peut modifier leur couleur et leur taille après leur construction.

Parmi les objets qu'on peut construire avec Kig, il y a

  1. Le centre de courbure et cercle osculateurs
  2. Les similitude, affinité, inversion et application projective, l'homologie harmonique
  3. L'hyperbole de foyers donnés
  4. L'ellipse de foyers donnés
  5. L'hyperbole d'asymptotes données, passant par un point donné
  6. La courbe de Bézier de degré 2 et 3
  7. La polaire d'un point et le pôle d'une droite par rapport à une conique
  8. La directrice et les axes radicaux d'une conique, les asymptotes d'une hyperbole, l'hyperbole d'asymptotes données.
  9. La courbe cubique par 9 points
  10. La cubique nodale par 6 points
  11. La cubique cuspidale par 4 points

Scripts Python[modifier | modifier le code]

Dans la figure[modifier | modifier le code]

Pour ajouter à la palette d'outils de Kig, un script en Python (langage), il est nécessaire de le convertir en macro.

Par exemple, si on souhaite créer une fonction carré, on incorpore à la figure un objet de type nombre (par exemple 3) et on clique sur ce nombre lorsqu'on crée un objet de type script Python. Le script a alors une donnée d'entrée nommée arg1 et le script peut être le suivant:

def square( arg1 ):
 return DoubleObject( arg1.value()**2 )

L'antécédent de la fonction est la valeur de l'argument arg1; on l'élève au carré et on retourne le résultat.

Dans la figure, le nombre 9 apparaît (en effet 3^2=9) et pour avoir un objet utilisable en Kig, il reste à créer une macro en sélectionnant le 3 comme objet initial et le 9 comme objet final. Un nouvel outil apparaît alors dans la palette de Kig. La manipulation est à comparer avec la version DrGeo.

Les objets considérés ne sont pas nécessairement numériques: Si au moment de la création du script, on désigne un point comme argument (en cliquant dessus), arg1 sera un point et plus un nombre. On peut alors lui appliquer le script suivant:

def csquare( arg1 ):
        x=arg1.coordinate().x
        y=arg1.coordinate().y
        z=x*x-y*y
        y=2*x*y
        x=z
        return Point( Coordinate(x,y) )

Ce script crée un point qui est l'image du précédent par la transformation \left\{\begin{array}{l}x'=x^2-y^2 \\ y'=2xy \end{array}\right.. Cette transformation, comme le suggère son nom, est la fonction carré dans \C. En effet, (x+i y)^2=x^2-y^2+i (2xy). Après cela, on peut créer une macro ayant pour objet le point initial (d'affixe z) et pour objet final, le point construit par le script (d'affixe z^2). La manipulation est à comparer avec la version DrGeo.

Cette méthode enrichit Kig mais seul un objet peut être retourné. Pour construire une figure complexe en Python, il faut utiliser un programme appelé pykig.py et fourni avec Kig.

Avec pykig[modifier | modifier le code]

Le script doit être écrit avec un éditeur de texte externe (après avoir quitté Kig) et lancé en ligne de commande avec pykig.py LeScript.kpy (s'il a été enregistré sous le nom LeScript.kpy). S'il n'y a pas d'erreur de syntaxe, l'exécution du script a pour effet de lancer Kig avec la figure telle qu'elle a été construite.

Par exemple, pour construire le triangle de Sierpinski dynamique, le script est le suivant:

from random import *
kigdocument.hideobjects()
A=Point(0,2)
A.show()
B=Point(-2,-1)
B.show()
C=Point(2,-1)
C.show()
M=Point(.1,.1)
for i in range(1,1000):
  d=randrange(3)
  if d==0:
    s=Segment(A,M)
    M=s.midpoint()
  if d==1:
    s=Segment(B,M)
    M=s.midpoint()
  if d==2:
    s=Segment(C,M)
    M=s.midpoint()
  M.show()

Cette version est à comparer avec la version CarScript, avec la version DrGeoII et avec la version (récursive) de DrGeo.