Kig
Sigles de 2 caractères |
► Sigles de 3 caractères |
Sigles de 4 caractères |
Sigles de 5 caractères |
Sigles de 6 caractères |
Sigles de 7 caractères |
Sigles de 8 caractères |
Créateur | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
---|---|
Développé par | Devriese, Paolini, Toscano, Pasquarelli, Gatti, Gajdos |
Première version | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Dernière version | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Version avancée | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Dépôt | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Assurance qualité | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Écrit en | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Interface | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Supporte les langages | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Système d'exploitation | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Environnement | KDE |
Taille des données | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Formats lus | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Formats écrits | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Langues | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Type | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Licence | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Documentation | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Site web | http://edu.kde.org/kig/ |
Chronologie des versions
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]
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]
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]
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
- Le centre de courbure et cercle osculateurs
- Les similitude, affinité, inversion et application projective, l'homologie harmonique
- L'hyperbole de foyers donnés
- L'ellipse de foyers donnés
- L'hyperbole d'asymptotes données, passant par un point donné
- La courbe de Bézier de degré 2 et 3
- La polaire d'un point et le pôle d'une droite par rapport à une conique
- La directrice et les axes radicaux d'une conique, les asymptotes d'une hyperbole, l'hyperbole d'asymptotes données.
- La courbe cubique par 9 points
- La cubique nodale par 6 points
- La cubique cuspidale par 4 points
Scripts Python[modifier]
Dans la figure[modifier]
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[modifier]
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[modifier]
Erreur Lua dans Module:Catégorisation_badges à la ligne 170 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 189 : attempt to index field 'wikibase' (a nil value).
Cet Article wiki "Kig" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques et/ou la page Edithistory:Kig.