<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kgeo;">
  <!ENTITY package "kdeedu">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE"><!-- change language only here -->
]>

<book lang="&language;">

<bookinfo>

<title>The &kgeo; Manual</title>
<authorgroup>
<author>
<firstname>Marc</firstname>
<othername></othername>
<surname>Bartsch</surname>
</author>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

</authorgroup>

<copyright>
<year>2001</year>
<holder>Marc Bartsch</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2002-02-09</date>
<releaseinfo>1.0.2</releaseinfo>

<abstract>
<para>&kgeo; is a program for interactive Geometry</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeedu</keyword>
<keyword>geometry</keyword>
<keyword>education</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>
&kgeo; is a program for interactive geometry just like programs such
as <application>Euklid</application>, <application>Zirkel und
Lineal</application> or <application>Kseg</application>. It was my
intention to write an open source version of this software that is free for
schools and combines the best of both (all) worlds.
</para>

<para>
This manual describes &kgeo; Version 1.0.1. Further to giving a general
introduction how to use &kgeo; I also want to point out possible
applications in the Math classroom. Whoever wants to add some applications
of &kgeo; is very welcome:
<email>marc.bartsch@web.de</email>.
</para>

</chapter>

<chapter id="using-kgeo">
<title>Using &kgeo;</title>

<para>
&kgeo; supports three different operation modes. First of all there
is the construction mode used to set up points, lines, circles and
the like. Then there is the drag mode which allows you to drag around
constructed objects, showing the immediate effect of this movement.
For example let's think of the circle of Thales. If you move the point
opposed to the hypotenuse of the triangle along the circumference of 
the enclosing circle, you will see that the angle remains a constant
90 degrees. The third mode is the trace mode. You can mark points,
so that they leave a trace when they move, &ie; they leave a trace
where ever they moved over and you can see the way an object went.
Next I'll describe each of those modes in a more detailed way.
</para>

<sect1 id="using-kgeo-construction-mode">
<title>The construction mode</title>

<para>
On the left side of the main view (canvas) you find all the tools
needed to draw geometrical objects. The first button, for example,
shows a point and that is exactly what is drawn on the canvas if
you select this tool by clicking on the button and then clicking
somewhere on the main view.
</para>

<para>
All the tools are organized in groups to help you to find the tool
you are looking for. If you choose the segment tool, for example,
you can click on two different coordinates of the main view and a line
segment will be drawn between those two points. If you choose the
segment tool a second time, you can also click on existing points
and thus construct segments between points you have created earlier.
<!-- FIXME: I doubt that it's neccessary to select the line segment
tool a second time. The above paragraph has to be modified to say
that it's possible to start line segments from already existing
points, too. (Werner) -->
</para>

<para>
If you are not sure what a tool is doing just move the mouse cursor
over the button and wait for a second. The tool tip will tell you
exactly what you can do with it.
</para>
</sect1>

<sect1 id="using-kgeo-drag-mode">
<title>The drag mode</title>
<para>
The drag mode is very useful to demonstrate, how geometrical objects
are related to each other. Right now only points can be dragged
around. After every construction &kgeo; switches from construction
mode back to the drag mode. Due to that you have to select a tool
again to continue constructing some figure.
</para>
</sect1>

<sect1 id="using-kgeo-trace-mode">
<title>The trace mode</title>

<para>
Points can have a trace mode which means they leave a trace over every
place they move. You can apply the trace mode with the following tool
<inlinemediaobject>
<imageobject>
<imagedata fileref="point.png" format="PNG"/>
</imageobject></inlinemediaobject>. After that you can
click on the point that should leave a trace. You can turn off the
trace mode by applying the trace mode tool a second time.
</para>

<screenshot>
<screeninfo>This is an example of a point leaving a trace.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="traceExample.png" format="PNG"/>
</imageobject>
<textobject><phrase>This is an example of a point leaving a
trace.</phrase></textobject>
<caption><para>This is an example of a point leaving a
trace.</para>
</caption>
</mediaobject>
</screenshot>

</sect1>

<sect1 id="using-kgeo-tools-points">
<title>Tools to construct points</title>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="point.png" format="PNG"/>
</imageobject></inlinemediaobject> Construct a point.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="pointxy.png" format="PNG"/>
</imageobject></inlinemediaobject>
 Construct a point at (x;y).
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="pointOnLine.png" format="PNG"/>
</imageobject></inlinemediaobject>
 Construct a point on a line or on a circle. This means that the point is attached to those objects.
<!-- FIXME: Does he mean the circumference of a circle? Maybe this should be stated here (Werner) -->
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="pointOfConc.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct the point of concurrency of two lines, segments, rays and so on. Since you cannot drag around a point
of concurrency, it is drawn as a little square.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="bisection.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct the bisection between two points.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="mirrorPoint.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a mirror point. You can either mirror
the point at another point or at a line. The first point you click on
is the one that will be mirrored. Then you can click the line or the
second point.
<!-- FIXME: How to mirror a point at another point? One degree of freedom
too much for me (Werner) -->
</para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="rotation.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Rotate a point around another point. The angle will taken from a already constucted angle. The first point you click on
is the one that will be rotated and and the second point is the center of the rotation.
</para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="move.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Move a point. Click on a point that you want to move and then on a vector that defines the movement.
</para>
</sect1>

<sect1 id="using-kgeo-tools-lines">
<title>Tools to construct lines</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="segment.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a segment between two points. The points do not need to exist, they will be constructed, as soon as
you click on an empty spot.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="line.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a segment. You also need to points for that.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="triangle.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a triangle. You need three points for that.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="vector.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a vector. A vector is segment with a direction. You need a vector to move a point.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="ray.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a ray.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="parallel.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Constrcut a parallel line. You need to click on an existing line and then choose a point through which
the parallel line should run.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="perpendicular.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Constrcut a perpendicular line. You need to click on an existing line and then choose a point through which
the perpendicular line should run.
</para>
</sect1>

<sect1 id="using-kgeo-tools-circle">
<title>Tools to construct circles</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="circle.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a circle. The first point is the center and the second point defines the diameter.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="baseCircle.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct a circle with a fixed diamter which will be entered through a dialog.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="arc.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Construct an angle. You need three points for that where the second point is the center of that angle.
</para>
</sect1>

<sect1 id="using-kgeo-tools-measure">
<title>Tool to measure</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="distance.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Measure the distance beween two points.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="areaCircle.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Measure the area of a circle.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="angle.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Measure the angle in degree.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="slope.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Measure the slope of two points or a line.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="circumference.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Measure the circumference of a circle.
</para>
</sect1>

<sect1 id="using-kgeo-tools-other">
<title>Other tools</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="attacher.png" format="PNG"/>
</imageobject>
</inlinemediaobject> This tool binds a point on circle or any kind of line.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="tracer.png" format="PNG"/>
</imageobject>
</inlinemediaobject> This tool toggles the trace mode.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="eraser.png" format="PNG"/>
</imageobject>
</inlinemediaobject> With this tool you can delete an object and all of its child objects.

</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="moveGrid.png" format="PNG"/>
</imageobject>
</inlinemediaobject> With this tool, you can move the underlying grid.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="text.png" format="PNG"/>
</imageobject>
</inlinemediaobject> Adding a text field to your construction.
</para>
</sect1>

<sect1 id="using-kgeo-tools-colors-size">
<title>Change the color and size</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="black.png" format="PNG"/>
</imageobject>
</inlinemediaobject> With these tools, you can change the color of an object.
</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="thickLine.png" format="PNG"/>
</imageobject>
</inlinemediaobject> With this tool, you can change the size of an object.
</para>
</sect1>

</chapter>

<chapter id="using-kgeo-didactic">
<title>Using &kgeo;</title>

<para>
This chapter shows you how you can use &kgeo; for your lessons.
</para>

<sect1 id="using-kgeo-didactic-thaleskreis">
<title>Construct the circle of Thales</title>


<screenshot>
<screeninfo>The circle of Thales</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="thales.png" format="PNG"/>
</imageobject>
<textobject><phrase>The circle of Thales</phrase></textobject>
</mediaobject>
</screenshot>

<para>
Please, do the following:
</para>

<procedure>
<step><para>
Construct three points at (-2;0), (0;0) and (2;0) respectively.
</para></step>

<step><para>
Construct a circle around the point in the middle with the radius 2.
The two other points are now located at the circumference of the circle.
</para></step>

<step><para>
Construct a point on the upper half of this circle.
</para></step>

<step><para>
Draw a triangle through this point an the ones on the left and the right
on the circumference of the circle.
</para></step>

<step><para>
Measure the top angle.
</para></step>

<step><para>
If you move the point on the upper half of the circle, the angle will remain 90 deg.
</para></step>

</procedure>
</sect1>
</chapter>

<chapter id="commands">
<title>Menu overview</title>

<para></para>

<sect1 id="kgeo-mainwindow">
<title>The &kgeo; main view</title>
<para></para>

<sect2>
<title>The <guimenu>File</guimenu> menu</title>

<variablelist>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
<listitem><para><action>Creates a new construction</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a construction</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open recent</guimenuitem>
</menuchoice></term>
<listitem><para><action>Lists the last 5 files</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Close</guimenuitem>
</menuchoice></term>
<listitem><para><action>Closes current construction</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the construction</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save as...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the construction under a different name</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>p</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the current construction</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Exit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Exit KGeo</action></para></listitem>
</varlistentry>

</variablelist>


</sect2>

<sect2>
<title>The <guimenu>Edit</guimenu> menu</title>

<variablelist>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Preferencea</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens dialog to change preferences</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Kioskmode</guimenuitem>
</menuchoice></term>
<listitem><para><action>Switches to full screen mode</action></para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2>
<title>The <guimenu>Help</guimenu> menu</title>

&help.menu.documentation;

</sect2>

</sect1>
</chapter>

<chapter id="faq">
<title><acronym>FAQ</acronym></title>

<qandaset>
<qandaentry>
<question>
<para>How can I exit the full screen mode?</para>
</question>
<answer>
<para>Use the <mousebutton>right</mousebutton> mouse click.
</para>
</answer>
</qandaentry>

</qandaset>
</chapter>

<chapter id="resources">
<title>More information about Geometry</title>

<variablelist>
<varlistentry>
<term>Homepage of &kgeo;</term>
<listitem><para><ulink url="http://kgeo.sourceforge.net">http://kgeo.sourceforge.net</ulink></para>
</listitem>
</varlistentry>

<varlistentry>
<term>Homepage of the &kde; Team</term>
<listitem>
<para>&kde-http;</para>
</listitem>
</varlistentry>
</variablelist>

</chapter>

<chapter id="credits">

<title>Credits</title>

<para>
&kgeo; 1.0.1
</para>
<para>
Programm Copyright 2000-2001 Marc Bartsch <email>marc.bartsch@web.de</email>
</para>
<para>
The &kgeo; Icon is a variation of the &kontour; icon (&koffice;).
</para>

<para>
Dokumentation Copyright 2001 Marc Bartsch <email>marc.bartsch@web.de</email>
</para>

<!-- Someone needs to put these into the .po converted files in i18n 

<para>
Translations by

<itemizedlist>
<listitem>
<para>Marc Bartsch <email>marc.bartsch@web.de</email> (German)</para>
</listitem>
<listitem>
<para>Marc Bartsch <email>marc.bartsch@web.de</email> (English)</para>
</listitem>
<listitem>
<para>Laurent Rathle <email>lrathle@kde-france.org</email> (French)</para>
</listitem>
</itemizedlist>
-->

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;

</chapter>

<chapter id="installation">
<title>Installation</title>

<sect1 id="getting-kgeo">
<title>How to obatin &kgeo;</title>

<para>
&kgeo; be downloaded for free under <ulink
url="http://kgeo.sourceforge.net">http://kgeo.sourceforge.net</ulink>
</para>
</sect1>

<sect1 id="requirements">
<title>System requirements</title>

<para>
To use &kgeo;, you need &kde; 3.X and &Qt; 3.X.
</para>

<para>
You can find &kde; at &kde-http;, &Qt; at <ulink
url="http://www.trolltech.com">www.trolltech.com</ulink>.
</para>

</sect1>

<sect1 id="compilation">
<title>Compilation and installation</title>

&install.compile.documentation;

<para>You can also reach the author directly at
<email>marc.bartsch@web.de</email></para>

<para>
If you want to delete &kgeo; from your system, please type:</para>

<screen width="40"><prompt>%</prompt> <userinput><command>su</command></userinput>
<prompt>%</prompt> Password:
<prompt>%</prompt> <userinput><command>make uninstall</command></userinput>
</screen>

</sect1>

</chapter>

</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
