# El manual de &kig;

## Introducció

&kig; és una aplicació de geometria interactiva. El seu objectiu és servir a dos propòsits:

- Permetre als estudiants explorar de manera interactiva les figures i conceptes matemàtics utilitzant l'ordinador.

- Servir com una eina WYSIWYG per dibuixar figures matemàtiques i incloure-les en altres documents.

Podeu informar dels problemes del &kig; usant l'eina d'informes d'error interna (Ajuda Informe d'errors...), o només contactant amb mi a toscano.pino@tiscali.it.

Donat que el &kig; permet macros i la construcció de llocs geomètrics, és possible que alguns usuaris avançats creïn macros. Si heu creat una macro interessant, penseu que pot ser útil a altra gent, si us plau, feu-m'ho saber a toscano.pino@tiscali.it, de manera que pugui incloure-la a la distribució (si ho feu, tindrà els mateixos termes de llicència que el &kig;, la GPL, de manera que altra gent la podrà utilitzar i adaptar amb llibertat).

## Ús bàsic

### Construir objectes

#### Construir punts

Podeu construir punts de diferents maneres:

- Seleccioneu Objectes Punts Punt des de la barra de menús o premeu el botó corresponent de la barra d'eines. Aleshores podreu construir un punt fent clic a la posició desitjada.

  Premeu la tecla &Maj; per activar un mode de trama, el qual us permetrà establir qualsevol punt en una construcció exactament als punts de la graella.

  De fet, això funciona de la mateixa manera per a construir altres objectes: fent clic a l'entrada de la barra de menú desitjada o el botó de la barra d'eines i seleccionant els elements necessaris per a construir l'objecte.

- Com que necessitareu construir punts sovint, n'hi ha prou fent clic a la posició desitjada de la finestra amb el &BMR; sense necessitar d'anar a cercar cap entrada del menú o botó.

- Podeu construir punts mentre esteu construint altres objectes en segon pla, seleccionant-los de manera opcional per a l'objecte que esteu construint. Per a més informació sobre això, podeu llegir constructing-other-objects.

Un punt s'està construint Un punt s'està construint

#### Construir altres objectes

Per a construir altres objectes que no siguin punts, normalment es fa escollint l'entrada adequada en el menú Objectes, o fent clic en un botó de la barra d'eines.

Construint un cercle Construint un cercle

Així s'inicia la construcció del tipus d'objecte escollit. Tots aquests tipus requereixen arguments. Per exemple, si seleccioneu la construcció d'un cercle per centre i punt, necessitareu donar dos punts: un pel centre i l'altre com a punt per on passa la circumferència.

Aquests arguments també són objectes que es poden seleccionar fent-hi clic a sobre. Quan passeu el cursor per sobre d'un objecte que podeu utilitzar per a construir un objecte, es mostrarà una imatge preliminar d'aquest; d'aquesta manera podreu veure com quedarà. Per a objectes que requereixin punts com a arguments, podeu posar-los a la posició actual del cursor fent clic amb el &BER;.

Podeu cancel·lar la construcció del nou objecte prement el botó &Esc; o fent clic al botó Cancel·la la construcció (un octògon vermell amb una X) de la barra d'eines.

Construint un cercle. Construint un cercle

### Seleccionar objectes

Els objectes es poden seleccionar de dues maneres:

- Senzillament fent clic en un objecte causa que se seleccioni, a la vegada que es neteja la selecció actual. Si voleu seleccionar més d'un objecte simultàniament, premeu la tecla &Ctrl; mentre feu clic sobre els objectes.

- Fent clic i arrossegant sobre un punt buit de la pantalla podreu seleccionar tots els objectes que es trobin dins el rectangle creat. Aquesta acció netejarà la selecció actual. Com en el cas anterior, prement la tecla &Ctrl; podreu mantenir la selecció actual.

Quan tingueu més d'un objecte sota el ratolí (indicat per Quin objecte? a la barra d'estat i al cursor del ratolí), podreu escollir fàcilment quin objecte seleccionar o afegir a la selecció. Fent clic amb el &BER; mentre premeu la tecla &Maj; o fent clic amb el &BDR;, tindreu un menú emergent amb tots els objectes que hi ha sota el ratolí. Aleshores podreu seleccionar el que necessiteu. Com s'ha dit abans, el comportament de la tecla &Ctrl; afectarà a la selecció.

Seleccionant objectes Seleccionant objectes

### Moure objectes

Per moure objectes primer cal que els seleccioneu.

Quan ja teniu els objectes seleccionats podeu iniciar el moviment amb el &BER;, fent clic i arrossegant-ne un qualsevol. Quan acabeu, senzillament deixeu anar el botó.

En el cas d'alguns tipus d'objectes (especialment els que estan definits per llocs geomètrics), el seu moviment pot resultar lent en màquines antigues. Això és una llàstima, però també inevitable degut a la gran quantitat de càlculs involucrats.

Si feu clic amb el &BDR; en un dels objectes seleccionats, i escolliu Mou, aleshores en moure el ratolí moureu l'objecte. Quan l'objecte ja estigui a la posició desitjada, un altre clic amb el &BER; aturarà el moviment.

### Suprimir objectes

Per a suprimir objectes, primer cal seleccionar-los, i després fer alguna d'aquestes coses:

- Prémer la tecla Supr.

- Prémer el botó Suprimeix els objectes de la barra d'eines.

- Fer clic amb el &BDR; en un dels objectes, i seleccionar Suprimeix en el menú contextual que apareix.

### Mostrar i ocultar objectes

Al &kig; els objectes es poden ocultar. Això es fa seleccionant-los, fent clic amb el &BDR;, i escollint l'opció Oculta del menú contextual que apareix.

Per a mostrar els objectes, useu l'opció Edita Mostra-ho tot. Això mostrarà tots els objectes que estiguin ocults.

#### Visió nocturna

La visió nocturna és una manera particular de treballar amb els objectes ocults. Quan moveu o canvieu quelcom en algun dels objectes ocults sense mostrar tots els objectes ocults, el mode de visió nocturna us serà molt profitós.

Bàsicament us permet veure els objectes ocults com si fossin visibles, de manera que els podeu manipular com ho faríeu normalment. En el mode de visió nocturna, els objectes ocults es fan visibles amb color gris.

Per passar al mode de visió nocturna, useu Arranjament Posa't ulleres d'infrarojos.

### Fer i desfer

Al &kig; podeu desfer pràcticament tots els canvis que feu en el document. Tant sols us cal usar els botons Desfés/Refés a la barra d'eines, el menú Edita o les dreceres apropiades.

### Mode de pantalla completa

El &kig; també té el mode de pantalla completa. Per a usar-lo cal fer clic al botó adequat a la barra d'eines, o bé seleccionar Arranjament Mode pantalla completa.

Per a sortir del mode de pantalla completa, feu clic amb el &BDR; en un lloc que no hi hagi cap objecte, i seleccioneu Surt del mode de pantalla completa, o bé premeu la drecera &Ctrl;&Maj;F.

## Els tipus d'objecte del &kig;

El &kig; accepta un gran nombre de tipus d'objecte. Tingueu en compte que no tots els tipus d'objecte disponibles es mostren a la barra d'eines: hi ha alguns objectes que només podeu construir des del menú Objectes de la barra de menú. Per descomptat que com a tots els programes del &kde;, els continguts de la barra d'eines són configurables. Escolliu Arranjament Configura barres d'eines... si ho voleu fer.

## Ús avançat

### Menús contextuals

El &kig; té menús contextuals per als seus objectes. Feu clic amb el &BDR; en un objecte per tal de veure el menú contextual. Hi ha moltes opcions: construir altres objectes, establir colors, ocultar, moure o suprimir objectes. Alguns objectes tenen opcions pròpies (&pex;, podeu redefinir alguns punts per a restringir-los a una recta en cas que no ho estiguessin, &etc;). Aquestes opcions són fàcils d'entendre.

Algunes de les operacions al menú contextual d'un objecte necessiten un altre objecte addicional definit com a referència, per exemple:

Gira una forma un nombre donat de graus en torn a un punt

- 1. Feu clic a Objectes Angles Angle per tres punts i creeu el vostre angle de rotació en algun lloc a la finestra del &kig;, generalment en un lloc no incòmode. Si ho desitgeu, feu clic dret a l'angle i a Afegeix etiqueta de text Angle en graus.

  2. Feu clic amb el &BDR; sobre l'angle i seleccioneu Estableix mida i introduïu la nova mida per aquest angle en el diàleg.

  3. Feu clic sobre Objectes i la construïu l'objecte desitjat.

  4. Feu clic dret sobre la forma i seleccioneu Transforma Gira.

  5. Establiu el punt de gir desitjat.

  6. Feu clic sobre l'angle.

  7. La vostra forma girarà!

Traduir un objecte

- 1. Feu clic a Objectes Vectors i segments Vector i construïu l'objecte seleccionant els punts d'inici i final en algun lloc a la finestra del &kig;.

  2. Per ajustar la longitud i la direcció del vector haureu de modificar el seu punt d'inici i final. Seleccioneu i escolliu Estableix les coordenades... al menú contextual.

  3. Feu clic sobre Objectes i la construïu l'objecte desitjat.

  4. Feu clic dret sobre l'objecte i seleccioneu Transforma Translació.

  5. Seleccioneu el vector per on voleu traslladar.

### Menús contextuals del document

Fent clic dret sobre el document (&ead;, no a sobre de cap objecte) s'us presentarà un menú emergent que podreu usar per a construir un nou objecte, canviar el sistema de coordenades, mostrar els objectes ocults, ampliar o reduir el document i alternar al mode de pantalla completa.

### Definir macros

Una de les característiques més avançades del &kig; és la seva capacitat de treballar amb macros. Això us permet definir nous tipus d'objectes a partir d'altres que ja estan definits.

Per exemple. Suposem que voleu crear una macro per construir un cercle a partir de tres punts. Haureu d'entrar els tres punts i després construir algunes perpendiculars i punts mitjos fins a trobar el centre. Ara ja podeu usar l'ordre existent de Cercle per centre i punt (usant un dels tres punts com a punt per aquesta ordre). La següent imatge ho deixarà una mica més clar:

Tot fent macros Tot fent macros

Ara toca definir la macro. Seleccioneu Nova macro... des del menú Tipus, o feu clic al botó de la barra d'eines. Apareixerà un assistent que us demanarà els objectes donats. En el nostre exemple, aquests són els tres punts. Seleccioneu els tres punts (feu clic per seleccionar i un altre clic per desseleccionar) i feu clic al botó Següent per a continuar. Per acabar, seleccioneu els objectes finals (en el nostre exemple, només el cercle).

L'assistent de macros L'assistent de macros

En completar els passos previs, feu clic al botó Següent per a continuar. Entreu un nom i, manera opcional, una descripció del vostre nou tipus, i feu clic al botó Acaba. Ja heu completat la macro.

Per usar la nova macro, feu clic al seu botó a la barra d'eines o useu el menú Objectes. Construir un objecte de macro és exactament el mateix que construir qualsevol altre objecte.

Usant el nou tipus Usant el nou tipus

### Treballar amb tipus

Com heu vist en el capítol anterior, el &kig; us permet crear els vostres propis tipus d'objectes. El &kig; també se'n preocupa de desar aquest nou tipus a la sortida i de llegir-lo en arrencar. No cal doncs, que deseu o carregueu manualment les definicions de macros. Tot i així, el &kig; us permet fer més coses amb les macros. Si escolliu l'opció Tipus Gestiona els tipus... del menú, veureu un diàleg on podeu editar els vostres tipus. Això us permet modificar els existents, suprimir els que no s'hauran de fer servir més, exportar-los a un fitxer o fins i tot carregar-los des d'un fitxer.

Diàleg d'edició de tipus El diàleg d'edició de tipus

### Etiquetes de text

El &kig; us permet afegir etiquetes de text a una construcció. Això és molt útil per afegir noms, explicacions o altre text a les construccions. El &kig;, a més, pot mostrar informació variable pertanyent als objectes (és a dir, propietats).

Per començar a construir una etiqueta de text n'hi ha prou amb prémer el botó Etiqueta de text de la barra d'eines del &kig;, o bé, seleccionar Objectes Altres Etiqueta de text en la barra de menú.

Després, podeu escollir un lloc per a l'etiqueta. Podeu escollir una posició aleatòria de la pantalla o bé adjuntar l'etiqueta a un objecte.

Adjuntant l'etiqueta a un cercle... Ajuntant l'etiqueta a un cercle...

Després de seleccionar on voleu posar l'etiqueta, apareix un diàleg. Aquí és on podeu escriure el text que voleu a la nova etiqueta, i fer clic al botó Acaba. Ara hauríeu de veure l'etiqueta en el document.

El diàleg de l'etiqueta de text El diàleg de l'etiqueta de text

L'exemple previ ha estat simple i només de text. Malgrat això, també és possible mostrar informació variable dels objectes (&pex;, podeu construir una etiqueta amb el text Aquest segment mesura %1 unitats de longitud. on %1 serà substituït dinàmicament amb la longitud del segment especificat).

Per a fer això, escriviu un text amb els paràmetres de substitució (%1, %2, &etc;) corresponents. Aleshores, premeu el botó Següent per a continuar. Si voleu modificar el text o les variables, podeu tornar enrere amb el botó Enrere.

Ara l'assistent us mostrarà el text que heu escrit amb els emplaçadors substituïts per alguna cosa com argument 1. Per a connectar una propietat a l'argument primer heu de fer clic sobre l'argument. Després, a l'objecte del qual en vulgueu la propietat, i per acabar seleccionar la propietat en el menú emergent que apareix. Per exemple, en el cas anterior, hauríeu de fer clic a argument 1, clic al segment corresponent a la finestra principal del &kig;, i seleccionar la propietat longitud. Després ja podreu omplir la resta de parts variables, o bé seleccionar una altra propietat que vulgueu modificar. Quan ho tingueu a punt, feu clic al botó Acaba per a completar la construcció de l'etiqueta de text.

Seleccionar una propietat per a una part variable Seleccionar una propietat per a una part variable

### Llocs geomètrics

El &kig; permet l'ús de llocs geomètrics. Un lloc geomètric es defineix matemàticament com el conjunt de tots els punts o rectes que compleixen o vénen determinats per condicions específiques, com en el cas d'un cercle que és el lloc geomètric dels punts que equidisten d'un punt donat. Veiem un exemple de com usar els llocs geomètrics amb el &kig;:

Considereu la següent construcció geomètrica. Dibuixem un cercle i un punt que només podeu moure al llarg de la seva circumferència (construïu aquest punt posicionant el cursor sobre un cercle, i fent clic amb el &BMR;. Si aleshores proveu de moure aquest punt veureu que només el podreu moure seguint el cercle). Després dibuixem un segment que vagi des d'aquest punt cap al centre del cercle, i el seu punt mig.

Una construcció simple usant llocs geomètrics Una construcció simple usant llocs geomètrics

Ara, si moveu el punt restringit al cercle, veureu que el segon punt es mou amb ell. Si tinguéssiu un llapis en aquest segon punt, i moveu el primer al llarg de tot el cercle, quedaria dibuixat un nou cercle de radi la meitat que el primer. El camí que segueix el segon punt és el lloc geomètric.

Realment, construir el lloc geomètric d'un punt és molt senzill. Feu clic al botó lloc geomètric de la barra d'eines, o seleccioneu Objectes Altres Lloc geomètric a la barra de menú. Aleshores seleccioneu el punt restringit a la cercle com el punt a moure (apareixerà el text Punt a moure quan passeu el cursor per sobre seu), i l'altre com a punt depenent. Aleshores es mostrarà el lloc geomètric del punt depenent.

## Crear scripts

El &kig; us permet crear tipus d'objectes personalitzats usant el llenguatge per crear scripts Python. Aquesta és una característica molt avançada, i només coneixem un altre programa de geometria interactiva que tingui una funció similar (el programa &drgeo; del GNOME).

La creació de scripts de Pyton en el &kig; bàsicament us permetran crear els vostres propis objectes a partir d'altres objectes pares. Per exemple, si sou un professor de matemàtiques, i disposeu d'un mètode atractiu de calcular algun punt interessant d'una cònica, en lloc d'embolicar-vos amb construccions complexes i macros, n'hi ha prou amb que escriviu una mica de codi Python de com es calcula el punt i aleshores el &kig; us ho farà.

Suposem que no esteu al cas de l'existència en el &kig; del tipus punt mig, i que voleu usar el punt mig de dos punts donats. Aleshores cal que feu clic al botó Script Python de la barra d'eines, o bé que seleccioneu Objectes Altres Script Python de la barra de menús. S'us presentarà un assistent que us permetrà procedir.

L'assistent objecte de script L'assistent objecte de script

El primer que heu de fer és seleccionar els arguments per a l'objecte de script. En el nostre exemple, això són els dos punts des quals volem mostrar el punt mig. Seleccioneu-los a la finestra principal del &kig; i feu clic al botó Següent per a continuar.

Ara teniu un quadre d'edició per editar text on podeu introduir el codi del vostre objecte de script. Hi trobareu una mica de codi i alguns comentaris. És important que us assegureu que el vostre codi és codi Python vàlid. Els qui estiguin familiaritzats amb el Python notaran que en aquest moment estem definint una funció Python anomenada `calc`. Per tant, és necessari que recordem les normes del Python a l'hora de definir funcions. Per exemple, cada línia de la funció haurà de començar amb un . La primera línia que no comenci amb un determinarà el final de la definició de la funció.

La funció Python que volem definir s'anomena `calc`, i en el nostre cas accepta dos arguments. Aquests són els dos objectes que heu seleccionat a la pantalla anterior. Necessiteu tants arguments com objectes hageu seleccionat. S'anomenen `arg1` i `arg2`, però, si ho desitgeu, en podeu canviar els noms per altres de més significatius.

A la funció, podeu fer tot tipus de càlculs que considereu necessaris, usant els dos arguments sempre que calgui. Al final haureu de retornar l'objecte que voleu definir. En el nostre cas, això és un objecte `Point`. Els dos arguments són també objectes `Point` i podem usar la funció `Point.coordinate()` per definir les coordenades dels dos punts donats.

Els càlculs necessaris en el nostre exemple són molt senzills. Només cal sumar els dos conjunts de coordenades i dividir-lo per dos. Després construïm un nou punt usant el resultat. El codi Python que es necessita és:

    def calc( a, b ):
        m = ( a.coordinate() + b.coordinate() ) / 2;
        return Point( m )

Escriure el codi Escriure el codi per al punt mig a l'assistent objecte de script.

Si ara feu clic al botó Acaba, el nou objecte apareixerà al document del &kig;. Si moveu un dels punts, el nou punt també es mourà. D'aquesta manera es poden construir objectes més potents, s'us anima a intentar-ho.

Un objecte de script construït El nou objecte de script construït

Tots els objectes del &kig; es poden usar en el codi Python. Com hem vist anteriorment, els punts són de la classe `Point`, i podeu usar, &pex;, el mètode `Point.coordinate()`. També podeu retornar tot tipus d'objectes, no només objectes `Point`. Moltes altres classes i mètodes estan disponibles en el codi Python del &kig;, i en teniu una referència més completa a la pàgina web del &kig;.

## Característiques del &kig;

- El &kig; és una aplicació de codi lliure. Això significa que teniu llibertat per usar-lo i modificar-lo tant com vulgueu. La distribució del &kig; està subjecte al algunes restriccions, bàsicament que tothom ha de tenir els mateixos drets per a usar-lo, incloent les vostres modificacions, que vós i jo.

  Els programes de codi lliure es desenvolupen amb un esperit molt obert, i els seus desenvolupadors acostumen a ser molt receptius als comentaris que se'ls faci arribar. Per tant, si teniu preguntes, queixes o qualsevol altra cosa sobre el &kig;, si us plau, feu-ho saber a l'autor a toscano.pino@tiscali.it.

- El &kig; és una aplicació KPart, això vol dir que la podeu incloure en altres programes del &kde;. Si obriu un fitxer `.kig` amb el &konqueror;, es pot obrir directament a la pantalla del &konqueror; sense la necessitat d'iniciar cap altre programa.

- Treballar amb el &kig; hauria de ser molt intuïtiu. Construir objectes és senzill i interactiu, mostrant resultats preliminars, &etc; Moure, seleccionar i construir es fa de la manera que un s'esperaria. La possibilitat de desfer, també és molt intuïtiva.

- El &kig; accepta la definició de macros de manera molt intuïtiva. Aquest objectes es presenten com a objectes normals. Es desen en sortir i es carreguen en entrar, i per tant no es perden en tancar el programa. Podeu gestionar aquests objectes amb el diàleg Gestiona els tipus (mireu working-with-types). També podeu els podeu exportar, importar, editar o suprimir.

- El &kig; desa tota les dades en un format &XML; ben clar.

- El &kig; permet la construcció de llocs geomètrics.

- El &kig; us permet exportar el fitxer &kig; a alguns formats interessants, com ara imatges, fitxers XFig i LaTeX, i imatges vectorials SVG. Això és més útil en la mesura que no tots els altres programes accepten encara el format &kig;.

- El &kig; té un sistema de transformació molt flexible.

- El &kig; procura ser compatible amb els seus competidors. És per això que accepta els formats de fitxer &kgeo;, &kseg; i parcialment &drgeo; i &cabri;. A més de tenir en projecte altres formats.

## Preguntes i respostes

&reporting.bugs; &updating.documentation;

## Crèdits i llicència

&kig;

&kig; copyright 2002-2004 Dominique Devriese devriese@kde.org

Copyright de la documentació 2002-2004 Dominique Devriese devriese@kde.org.

Copyright de la documentació 2004-2005 Pino Toscano toscano.pino@tiscali.it.

Revisat per &Philip.Rodrigues; &Philip.Rodrigues.mail;.

Traductor de la documentació: Xavier Batlle i Pèlach i &credits.Antoni.Bella;

&underFDL; &underGPL;

## Instal·lació

### Com obtenir el &kig;

&install.intro.documentation;

### Compilació i instal·lació

&install.compile.documentation;

## Col·laboracions

### Programari lliure

El &kig; és Programari lliure. Això significa que el seu codi font és de lliure accés i disponible des d'internet, tothom el pot usar, llegir, modificar i distribuir. Jo hi treballo com un projecte personal, i he aprés molt sobre programació, C++, &kde;,&Qt;, matemàtiques, col·laboració en programari i projectes de codi lliure durant tot el procés.

### Col·laboracions

En aquest capítol vull remarcar-vos (a l'usuari) els drets que la llicència del &kig; us dóna. Com en tot el programari lliure teniu permís (i us animem) per arreglar els problemes que hi trobeu, afegir-hi característiques que hi trobeu a faltar, distribuir el programa modificat i enviar-me aquestes modificacions a toscano.pino@tiscali.it, de manera que les pugui incloure en la nova versió i altres en puguin gaudir. Noteu que no hi tinc cap interès econòmic.

Si teniu algun dubte sobre els drets per usar aquest programari, o que d'altra gent usi les modificacions que hi feu, si us plau, llegiu la llicència. La podeu trobar al fitxer `COPYING` del codi font del &kig; o a l'enllaç de la llicència en el diàleg Quant a Kig.

### Com col·laborar?

Totes les col·laboracions són benvingudes. Si no us agraden les icones, o penseu que al manual li cal una actualització, o bé teniu aquella super macro que voleu compartir amb el món, no dubteu en enviar-me-la. Si us plau, tingueu en compte que les vostres col·laboracions seran distribuïdes sota els termes de llicència &GNU;GPL, podeu trobar els termes d'aquesta llicència en el fitxer `COPYING` en el codi del &kig;, i en el capítol Crèdits i llicència d'aquest manual.

&documentation.index;