| キグ | |
|---|---|
| 開発者 | KDE |
| 初回リリース | 2006年8月2日 (2006年8月2日) |
| 安定版リリース | |
| リポジトリ | |
| 書かれた | C++ ( Qt ) |
| オペレーティング·システム | Unix系、Mac OS X、Windows |
| タイプ | インタラクティブな幾何学ソフトウェア |
| ライセンス | GPL |
| Webサイト | https://apps.kde.org/kig/ |
KIGは、 KDE教育プロジェクトの一部である、無料かつオープンソースのインタラクティブな幾何学ソフトウェアです。Pythonスクリプト機能や、既存の構造からマクロを作成する機能も備えています。
Kigは、 DrGeoやCabri Geometryで作成されたファイルに加え、独自のXMLエンコードされたファイル形式もインポートできます。図はLaTeX形式とSVG(ベクターグラフィック)ファイル としてエクスポートできます。
Kig は、動的ジオメトリのあらゆる古典的なオブジェクトを処理できるだけでなく、次のものも処理できます。
Kig にはもう一つオブジェクトがあります。これはPython 言語のスクリプトです。Kig オブジェクトを変数として受け取り、常に 1 つのオブジェクトを返します。
たとえば、図の中にすでに数値オブジェクト(たとえば 3)がある場合、次の Python オブジェクトはその平方数 (9) を生成できます。
def square ( arg1 ): return DoubleObject ( arg1 . value () ** 2 )変数は常にクリックされた順にarg1、などと呼ばれます。ここでは変数は1つだけであり、その数値は で取得されます。 arg2arg1arg1.value()
複素数の2乗(アルガン図の点で表される)を実装したくない場合は、スクリプトの作成時に選択する必要があるオブジェクトは必ず点であり、スクリプトは
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 ))複素数の2乗を表す点の横座標は、を展開するとわかるように、 新しい点の2つの座標からなるPythonリストを作成します。そして、このリストによって正確に与えられた座標を持つ点を作成します。 Coordinate(x,y)Point
しかし、図の中の Python オブジェクトは 1 つのオブジェクトしか作成できず、より複雑な図の場合はスクリプトを使用して図を構築する必要があります。
pykig.pyKigはPython で書かれた小さなプログラムを作成し、
MyScript.pyたとえば、次のようにして、シェルピンスキーの三角形を( IFSとして)作成することができますpykig。
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 ( ){{cite web}}:欠落または空|title=(ヘルプ)