# El manual de &kig;

## Introducció

El &kig; és un programa de geometria interactiva que té dos objectius:

- Permetre als estudiants explorar les figures matemàtiques i els conceptes relacionats de manera interactiva tot usant l'ordinador.

- Servir d'eina WYSIWYG per a dbuixar fiures matemàtiques i incloure-les en els documents.

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

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

## Ús bàsic

### Construir objectes

#### Construir punts

Podeu construir punts de diferents maneres:

- Seleccioneu Objecte Punts Punt 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.

  De fet, això funciona per a construir altres objectes: fer clic a l'entrada de menú corresponent o botó de la barra d'eines i seleccionar els ítems necessaris per a construir l'objecte.

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

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

S'ha construït un punt S'ha construït un punt

#### Construir altres objectes

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

Construint una circumferència Construint una circumferència

Així s'inicia la construcció del tipus d'objecte escollit. Tots aquests tipus requereixen arguments. Per exemple, si seleccioneu la construcció d'una circumferència 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 poden ser seleccionats fent-hi clic a sobre. Quan passeu el cursor per sobre d'un objecte que podeu usar per a construir un objecte, apareix una imatge preliminar d'aquest; d'aquesta manera podeu 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 objete prement &Esc; o fent clic al botó Stop (un octògon vermell amb una X) de la barra d'eines.

Construir una circumferència. Construint una circumferència

### Seleccionar objectes

Els objectes es poden seleccionar de dues maneres:

- Senzillament fent clic en un objecte 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 als objectes.

- Fent clic i arrossegant en 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 cursor, podeu escollir fàcilment quin és l'objecte que voleu seleccionar. Fer clic amb el &BER; mentre premeu la tecla &Maj; fa aparèixer un menú emergent que conté tots els objectes que hi ha sota el cursor. Aleshores podreu escollir el que necessiteu. Com s'ha dit abans, la tecla &Ctrl; afecta a la selecció.

Seleccionar objectes Seleccionar 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 hagueu acabat, senzillament deixeu anar el botó.

Moure alguns tipus d'objectes (especialment els que s'han construït com a llocs complicats), pot resultar lent en màquines antigues. É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, aleshoresm 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.

### Esborrar objectes

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

- Prémer la tecla Suprimir.

- Prémer el botó esborrar de la barra d'eines.

- Fer clic amb el botó dret del ratolí en un dels objectes, i seleccionar Esborra 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ú emergent que apareix.

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

#### Visió nocturna

La visió nocturna és una manera particular de treballar amb els objectes ocults. Quan hagueu de moure o canviar 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 fóssin 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 a mode de visió nocturna, escolliu Arranjament Posa't ulleres d'infrarojos.

### Fer i desfer

Al &kig; podeu desfer pràcticament tots els canvis que feu en un document. Tant sols us cal usar.

### 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 escolliu l'opció Deixar mode pantalla completa, o bé premeu la tecla &Esc;.

## 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 barra 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 que apareix. Hi ha moltes opcions: construir altres objectes, establir colors, ocultar, moure o esborrar objectes. Alguns objectes tenen opcions pròpies (&pex; podeu redefinir alguns punts per a restringir-los a una recta en cas que no ho estiguéssin, &etc;). Aquestes opcions són fàcils d'entendre.

### Menú contextual del document

Fent clic amb el botó dret del ratolí en el document (és a dir, no a sobre de cap objecte) se vos presentarà un menú emergent que podeu usar per a construir un nou objecte, canviar el sistema de coordenades, mostrar els objectes ocults, o bé ampliar o reduir el document.

### 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 estiguin definits.

Per exemple. Suposem que voleu fer una macro per construir una circumferència a partir de tres punts d'aquesta. Haureu d'entrar els tres punts i després fer algunes perpendiculars i punts mitjos fins a trobar el centre. Ara ja podeu usar l'ordre existent de Construir una circumferència per centre i punt (usant un dels tres punts com a punt per a l'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 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, els tres punts inicials. 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 la circumferència).

L'assistent de macros L'assistent de macros

En completar les passes prèvies, feu clic al botó Següent per a continuar. Entreu un nom i, opcionalment, 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, esborrar 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 el 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 una circumferència... Ajuntant l'etiqueta a una circumferència...

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à remplaçat cinà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ó Endarrera.

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 últim 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 punts o rectes que compleixen o vénen determinats per unes condicions, com en el cas d'una circumferència 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 una circumferència i un punt que només e spugui moure per sobre d'aquesta. Podeu construir tal punt fent clic amb el cursor a sobre la circumferència amb el &BMR;. Si aleshores proveu de moure aquest punt veureu que només el podreu moure seguint la circumferència. Després dibuixem un segment que vagi des d'aquest punt al centre de la circumferència, 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 a la circumferència, veureu que el segon punt es mou amb ell. Si tinguéssiu un llapis en aquest segon punt, i movéssiu el primer al llarg de tota la circumferència, quedaria dibuixada una nova circumferència de radi la meitat que la primera. 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ús.Aleshores seleccioneu el punt restringit a la circumferència 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.

## Guions

El &kig; us permet crear tipus d'objectes personalitzats usant el llenguatge 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).

Els guions 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ó guió Python de la barra d'eines, o bé que seleccioneu Objectes Altres Guió Python de la barra de menús. Se us presentarà un assistent que us permetrà procedir.

L'assistent de guions L'assistent de guions

El primer que heu de fer és seleccionar els arguments per a l'objecte. 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 una caixa per editar text on podeu introduir el codi del vostre guió. Ja hi trobareu una mica de plantilla 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, totes les línies de la funció han de començar amb una tabulació. La primera línia que no comença amb una tabulació determina 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 de guions.

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

Un objecte de guió construït El nou objecte de guió 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 vulgeu. 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 intuitiu. Construir objectes és senzill i interactiu, i es mostren els resultats preliminars. Moure, seleccionar i construir es fa de la manera que un s'esperaria. La possibilitat de desfer, també és molt intuitiva.

- El &kig; accepta la definició de macros de manera molt intuitiva. 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 esborrar.

- 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 el format de fitxer &kgeo;, el format &kseg; i parcialment els formats &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 2002-2004 de la documentació Dominique Devriese devriese@kde.org.

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

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

- Xavier Batlle i Pèlach, traducció de la documentació

&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 programa, 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 la pestanya Llicència del diàleg Quant al 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, no dubteu en enviar-me-la. Si us plau, tingueu en compte que les vostres col·laboracions seran distribuides 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;