Vyvinul | Devriese, Paolini, Toscano, Pasquarelli, Gatti, Gajdos |
---|---|
Poslední verze | 20.04.2 (11. června 2020) |
Pokročilá verze | 18.03.80 (23. března 2018) |
Vklad | invent.kde.org/education/kig |
Napsáno | C ++ |
Rozhraní | Qt |
Operační systém | Unixový typ |
životní prostředí | KDE |
Typ | Software pro dynamickou geometrii ( d ) |
Licence | GNU General Public License verze 2 |
Dokumentace | docs.kde.org/stable/en/kdeedu/kig |
webová stránka | http://edu.kde.org/kig/ |
Kig (pro interaktivní geometrii KDE ) je software pro dynamickou geometrii běžící v prostředí KDE . Specializující se na vyšší geometrie, má skriptovací jazyk , Python , který mu umožňuje postavit postavy pozoruhodné složitosti.
Kig je nedílnou součástí projektu Kde-Edu , vzdělávacího softwarového balíčku, který běží pod KDE .
Kromě vlastního formátu souboru (přípona „kig“), což je popis obrázku ve formátu xml , je Kig schopen exportovat do svg nebo do LaTeXu a částečně importovat obrázky ve formátech DrGeo a Cabri Géomètre .
Abychom například vytvořili tři body, musíme bodový nástroj vybrat třikrát po sobě , Kig neuchovává vybraný nástroj v paměti.
Po vytvoření lze objekty přesouvat myší a po jejich konstrukci lze měnit jejich barvu a velikost.
Mezi objekty, které lze pomocí Kiga postavit, patří
Chcete-li přidat skript v jazyce Python (jazyk) do Kigovy sady nástrojů , je nutné jej převést na makro.
Například pokud chceme vytvořit čtvercovou funkci , začleníme do obrázku objekt typu číslo (například 3) a klikneme na toto číslo při vytváření objektu typu skriptu Python . Skript pak má vstupní data s názvem arg1 a skript může být následující:
def square( arg1 ): return DoubleObject( arg1.value()**2 )Předchůdcem funkce je hodnota argumentu arg1 ; zvedneme to na druhou a vrátíme výsledek.
Na obrázku se (skutečně ) objeví číslo 9 a aby byl objekt použitelný v Kig , zbývá vytvořit makro výběrem 3 jako počátečního objektu a 9 jako konečného objektu. Na paletě Kig se poté objeví nový nástroj . Manipulaci je třeba porovnat s verzí DrGeo .
Uvažované objekty nemusí být nutně číselné: Pokud při vytváření skriptu označíme bod jako argument (kliknutím na něj), arg1 bude bod a více číslo. Poté na něj můžeme použít následující skript:
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) )Tento skript vytvoří bod, který je transformací obrazem předchozího . Tato transformace, jak název napovídá, je čtvercová funkce v . Opravdu . Poté můžeme vytvořit makro mající pro objekt počáteční bod (afix ) a pro finální objekt bod konstruovaný skriptem (affix ). Manipulaci je třeba porovnat s verzí DrGeo .
Tato metoda obohacuje Kig, ale lze vrátit pouze jeden objekt. Chcete-li vytvořit složitou postavu v Pythonu, musíte použít program s názvem pykig.py a dodávaný s Kigem .
Skript musí být napsán externím textovým editorem (po ukončení Kig ) a spuštěn z příkazového řádku pomocí pykig.py LeScript.kpy(pokud byl uložen pod názvem LeScript.kpy ). Pokud nedojde k chybě syntaxe, spuštění skriptu má za následek spuštění Kig s postavou, jak byla vytvořena.
Například pro vytvoření dynamického Sierpinského trojúhelníku je skript:
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()Tato verze by měla být ve srovnání s CarScript verze s DrGeoII verzí a s (rekurzivní) verzi DrGeo .