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.

kde interactive geometry
Exemple de construction d'un cercle avec Kig
Informations
Développé par Devriese, Paolini, Toscano, Pasquarelli, Gatti, Gajdos
Dernière version 20.04.2 ()[1]
Version avancée 18.03.80 ()[2],[3]
Dépôt invent.kde.org/education/kig
Écrit en C++
Interface Qt
Système d'exploitation Type Unix
Environnement KDE
Type Logiciel de géométrie dynamique (d)
Licence Licence publique générale GNU version 2
Documentation docs.kde.org/stable/en/kdeedu/kig
Site web http://edu.kde.org/kig/

Plateforme

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

Formats de fichiers

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

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

Dans la figure

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 ) 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 . Cette transformation, comme le suggère son nom, est la fonction carré dans . En effet, . Après cela, on peut créer une macro ayant pour objet le point initial (d'affixe ) et pour objet final, le point construit par le script (d'affixe ). 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

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.

Notes et références

  1. « Release 20.04.2 », (consulté le )
  2. « download archive » (consulté le )
  3. « Release 18.03.80 », (consulté le )
  • Portail des logiciels libres
  • Portail de la géométrie
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.