Kig - App of the Month

Also read the interview with Dominique Devriese, the author of Kig.

Kig (logo) Description of Kig by Tom Verbreyt.
Translation by Fabrice Mous.

Kig is a interactive program which you can use to study geometric figures; hence the name Kig: KDE Interactive Geometry. With Kig, which is meant to be a better version of programs like KGeo and KSeg, you can play in a pleasant and educational manner with mathematical figures. Kig is very usefull for teachers as students with studying geometric figures and their relationships.

You can also use Kig as a WYSIWYG tool to draw mathematical figures. Not only does Kig try to be compatible with all kind of formats of similar programs, it also exports the figure to an image or Xfig file. Because Kig is also a KPart application, you can use it's integration in KDE, by embedding it in other applications or .kig files opening it directly in Konqueror without having to start Kig.


Constructing objects

A rather crucial part of what geometry represents is of course objects. The most simple imaginable object would be a point. So let's start with that. To draw a point you need to use Objects->Points->Point or just click on the correct icon. Because you often need points there is also a shorter way of constructing points: a simple click of the middle mouse button will work as well.

Kig -- een punt
(click for larger image)

To create other objects you work the same way. You choose the desired type in the menu Objects. Every object type has several arguments or parameters. When for example you choose a circle with a center and a point, then you need to give both points in constructing a circle. By clicking with the left mouse button you can confirm the position of the asked points. When constructing the points you get a preview so you know what the result would look like.

When you would change your mind during the construction press the Escape button of the red stop button in the toolbar the discard the construction.

Kig -- andere objecten: een cirkel
(click for larger image)

Editing objects

To edit an object you need to select it first. This can be done in two ways:

Kig -- selective selection...
(click for larger image)

Moving objects

Once you have selected an object, you can start moving it by pressing and dragging with your left mouse button. Release the button to place the object at the current position. Notice that some (complicated) object types can move a bit jerkily on some older hardware. Which is unfortunate but inevitable because of the there are a lot of calculations involved behind the scenes...

Removing objects

A selected object can be removed by pressing the Delete button or by selecting the remove button in the taskbar. You can also do this through the contact-menu: click with the right mouse button on the desired object.

Hiding objects

Through this context menu you can hide objects so they will not be in your way. To unhide the object you can use Edit->Unhide All.

Advanced use

Kig supports quite some object types, not all of them are available through the toolbars. Some can only be constructed by using the menu Objects. Like most applications in KDE you can modify the toolbars to your own liking.

Macros

One of the more advanced possibilities of Kig are macros. With macros you can combine standard object types to create new object types. The brain of the author of this article isn't blessed with mathematical knowledge, but undoubtly macros are able to offer many possibilities... :-)

You can create a new macro through Types->New macro.... You will see a wizard, which will ask for some information (for example how many points) and a target object. A name and description will make your macro complete; it is now available in the menu and can be used for constructing a new object. Your own types will be automaticly saved when Kig closes. You can manage (import, export) them through Types->Manage Types.

Text labels

You are able to add text labels to objects to display names, explanations or other text. Your text labels can also be used for variable information: certain properties of objects.

With the Text label button via Objects->Other->Text label you can construct a text label, this can be on a random spot or attached to a certain object.

kig4.png
(click for larger image)

By using placeholders like %1, %2 you can attach variable information. For every wildcard the wizard will ask for explanation. Take for example the conic in the previous image. By entering a placeholder in the description...

Kig -- wizard 
				with text labels
(click for larger image)

...the wizard will show a second dialog, where the comments are showed. The placeholders will be by the with "argument x". Click on that argument and and then click on the object to fill in the argument with the desired variable information.

Kig -- assistent bij text labels, bis
(click for larger image)

Kig -- wizard text labels: the result
(click for larger image)

Of course Kig will update the variable information depending on the changes you apply..


When you have mastered the basics Kig even has some more advanced possibilities: it has support for custom types in the Python scripting language. This is a feature which makes Kig unique, the only other application for interactive geometry with support for scripts is Kig's GNOME equivalent Dr. Geo, but it uses Scheme which can be a difficult language to master for some people.

Do check the manual for more information; the more advanced topics are out of scope for this article which is only an introduction to Kig.


Description of Kig by Tom Verbreyt, but copied in a rather rigid way from the Kig manual.

Read the interview with Dominique Devriese, the author of Kig.

About this site | RSS | Last updated: 17:54 Fri 04 July 2008| KDE is a trademark of KDE e.V.