# Manuale di &kig;

## Introduzione

&kig; è un'applicazione per la geometria interattiva. Vuole ottenere due scopi:

- Permettere agli studenti di esplorare interattivamente le forme e i concetti matematici usando il computer.

- Servire da strumento WYSIWYG per disegnare le forme matematiche ed includerle in altri documenti.

Puoi segnalare problemi in &kig; usando lo strumento interno di segnalazione errori (Aiuto Segnala un errore...).

Dato che &kig; supporta le macro e i luoghi, permette quindi la definizione di macro piuttosto avanzate. Se hai creato una macro interessante, che pensi possa essere utile ad altre persone, puoi aprire una nuova richiesta di revisione in modo che possa essere valuata per l'inclusione nella distribuzione (in tal caso sarà rilasciata sotto i termini della licenza di &kig;, cioè GPL, in modo che le altre persone possano usarla ed adattarla liberamente).

## Uso basilare

### Costruire gli oggetti

#### Costruire i punti

Puoi costruire i punti in molti modi:

- Seleziona Oggetti Punti Punto dalla barra dei menu, oppure premi il pulsante appropriato nella barra degli strumenti. Puoi quindi costruire un punto facendo clic nella finestra, alla posizione desiderata.

  Premi il tasto &Shift; per attivare una modalità di aggancio, che ti permette di impostare esattamente qualsiasi punto in una costruzione sulla griglia.

  La procedura è la stessa per costruire gli altri oggetti: fai clic sulla voce della barra dei menu o sul pulsante desiderato nella barra degli strumenti, e seleziona gli oggetti necessari per costruirlo.

- Dato che spesso hai bisogno di costruire dei punti, puoi farlo semplicemente con un clic con il &MMB; da qualche parte sullo schermo, senza usare menu o pulsanti.

- Puoi costruire dei punti mentre stai costruendo altri oggetti, selezionandoli opzionalmente per l'oggetto che stai costruendo. Per saperne di più, guarda constructing-other-objects.

È stato costruito un punto È stato costruito un punto

#### Costruire gli altri oggetti

Oggetti diversi dai punti si possono costruire selezionando la voce appropriata nel menu Oggetti, o facendo clic su uno dei pulsanti della barra degli strumenti.

Costruire un cerchio Costruire un cerchio

Ciò inizierà la costruzione di un nuovo oggetto del tipo scelto. Tutti questi tipi richiedono degli argomenti. Per esempio, se hai selezionato un cerchio secondo centro e un punto, avrai bisogno di dare due punti: uno per il centro, l'altro per il punto sul cerchio.

Questi argomenti sono anche degli oggetti, che possono essere selezionati semplicemente facendo clic su di essi. Se muovi il puntatore sopra un argomento che vuoi usare per costruire un oggetto, verrà mostrata un'immagine preliminare dell'oggetto, così saprai come sarà. Per oggetti che richiedono dei punti come argomenti, puoi costruire un nuovo punto alla posizione corrente del cursore e selezionarlo premendo il &LMB;.

Puoi sempre annullare la costruzione del nuovo oggetto premendo il tasto &Esc;, oppure facendo clic sul pulsante Annulla costruzione nella barra degli strumenti.

Costruire un cerchio. Costruire un cerchio

### Selezionare gli oggetti

Gli oggetti possono essere selezionati in due modi:

- Facendo semplicemente clic su un oggetto da selezionare, annullando la selezione corrente. Se vuoi selezionare più oggetti contemporaneamente, tieni premuto il tasto &Ctrl; mentre fai clic su un altro.

- Facendo clic in un posto vuoto dello schermo e trascinando il mouse: selezionerai così tutti gli oggetti dentro il rettangolo che si crea. Quest'azione annullerà la selezione corrente. Come nel caso precedente, se tieni premuto il tasto &Ctrl; potrai mantenere la selezione corrente.

Quando hai più di un oggetto sotto il mouse (indicato da Quale oggetto? nella barra di stato e al puntatore del mouse), puoi facilmente scegliere quale selezionare o aggiungere alla selezione corrente. Fai clic con il &LMB; mentre tieni premuto il tasto &Shift; oppure fai clic con il &RMB; per avere un menu a comparsa con tutti gli oggetti sotto il mouse. Quindi, puoi scegliere l'oggetto di cui hai bisogno. Come detto prima, il comportamento del tasto &Ctrl; avrà effetto sulla selezione.

Selezionare gli oggetti Selezionare gli oggetti

### Spostare gli oggetti

Per spostare gli oggetti, prima devi selezionarli.

Quando gli oggetti che vuoi spostare sono selezionati, puoi iniziare a farlo premendo il &LMB; su uno qualsiasi di essi, e quindi trascinandoli. Quando hai finito, basta che rilasci il &LMB;.

Spostare alcuni tipi di oggetti, specialmente quando sono definiti da luoghi complicati, oppure in presenza di un hardware più vecchio, può risultare lento. È un inconveniente sfortunato ma inevitabile, data la mole di calcoli necessari.

Se premi il &RMB; su uno degli oggetti selezionati, e poi scegli Sposta, lo spostamento del mouse sposterà l'oggetto. Quando l'oggetto si trova nella posizione desiderata, un altro clic con il &LMB; fermerà lo spostamento dell'oggetto.

### Eliminare gli oggetti

Per eliminare gli oggetti, prima selezionandoli, e poi puoi fare una di queste cose:

- Premi il tasto ∇.

- Premi il pulsante Elimina oggetti nella barra degli strumenti.

- Premei il tasto destro su uno degli oggetti, poi seleziona Elimina dal menu contestuale che appare.

### Mostrare e nascondere gli oggetti

In &kig; gli oggetti possono essere nascosti. Lo si fa selezionandoli, premendo il &RMB; su uno di loro, e poi selezionando Nascondi nel menu contestuale che appare.

Per mostrare gli oggetti, scegli la voce di menu Modifica Mostra tutti. Questo mostrerà tutti gli oggetti attualmente nascosti.

#### La visione notturna

La visione notturna è un modo particolare di lavorare con gli oggetti nascosti. Quando devi muovere o cambiare qualcosa in uno o più oggetti, ma senza mostrare tutti gli oggetti nascosti che hai, allora la visione notturna ti sarà d'aiuto.

Fondamentalmente ti permette di vedere gli oggetti nascosti come se fossero visibili, cosicché puoi manipolarli come faresti normalmente. Nella modalità di visione notturna, gli oggetti nascosti saranno visibili con un colore grigio.

Per attivare o per disattivare la modalità visione notturna, usa Impostazioni Indossa gli occhiali a infrarossi.

### Annulla/Rifai

In &kig; puoi annullare quasi tutte le modifiche fatte al documento. Basta usare i pulsanti Annulla/Rifai sulla barra degli strumenti, oppure le scorciatoie di tastiera appropriate.

### Modalità a tutto schermo

&kig; ha anche una modalità a tutto schermo. Per usarla, fai clic sul pulsante appropriato nella barra degli strumenti, oppure seleziona Impostazioni Modalità a tutto schermo.

Per lasciare la modalità a tutto schermo, premi il &RMB; in un punto dove non ci sono oggetti, e seleziona Esci dalla modalità a tutto schermo, oppure premi &Ctrl;&Shift; F.

## Tipi di oggetti in &kig;

&kig; supporta un numero piuttosto ampio di tipi di oggetti. Nota che non tutti i tipi di oggetti disponibili sono mostrati nelle barre degli strumenti: alcuni possono essere costruiti solo dal menu Oggetti nella barra dei menu. Ovviamente, come con tutte le applicazioni &kde;, i contenuti delle barre degli strumenti sono configurabili. Per farlo, prova l'opzione Impostazioni Configura le barre degli strumenti....

## Uso avanzato

### Menu contestuali

&kig; ha dei menu contestuali per i suoi oggetti: prova a premere il &RMB; su un oggetto per vederlo apparire. Ci sono molte opzioni: per costruire altri oggetti, per impostare i colori, lo spessore del tratto, lo stile, e anche per nascondere, mostrare ed eliminare gli oggetti. Alcuni oggetti hanno delle opzioni proprie (⪚ puoi associare certi punti ad una retta a cui prima non erano, &etc;). Queste opzioni dovrebbero essere volto semplici da capire.

Alcune delle azioni nel menu contestuale di un oggetto richiedono un altro oggetto definito come riferimento, ad esempio:

Ruota una figura di un numero specifico di gradi attorno ad un punto

- 1. Scegli Oggetti Angoli Angolo per tre punti e crea da qualche parte nella finestra di &kig;, generalmente in uno spazio libero, l'angolo che desideri. Se vuoi puoi anche fare clic sull'angolo, e scegliere Aggiungi etichetta di testo Angolo in gradi.

  2. Fai clic con il &RMB; sull'angolo, scegli Imposta dimensione e inserisci la nuova dimensione di questo angolo nella finestra.

  3. Fai clic sul menu Oggetti e costruisci l'oggetto che vuoi.

  4. Fai clic col &RMB; sulla figura, e scegli Trasforma Ruota.

  5. Imposta il punto di rotazione desiderato.

  6. Fai clic sull'angolo.

  7. La figura è stata ruotata!

Traslare un oggetto

- 1. Seleziona Oggetti Vettori e segmenti Vettore e costruisci l'oggetto scegliendo i punti iniziale e finale nella finestra di &kig;.

  2. Per modificare la lunghezza e la direzione del vettore devi modificare i suoi punti iniziale e finale. Selezionali, e scegli Imposta coordinate... nel menu contestuale.

  3. Dal menu Oggetti puoi costruire l'oggetto che vuoi.

  4. Fai clic col &RMB; sull'oggetto, e scegli Trasforma Trasla.

  5. Scegli il vettore secondo cui traslare.

### Menu contestuali del documento

Premendo il tasto destro sul documento (&ie; non su un oggetto) apparirà un menu a comparsa, che puoi usare per iniziare a costruire nuovi oggetti, per cambiare il sistema di coordinate usato, per mostrare gli oggetti nascosti, per ingrandire e per rimpicciolire il documento, oppure per entrare e uscire dalla modalità a tutto schermo.

### Definire le macro

Una delle caratteristiche più avanzate in &kig; è il supporto per le macro. Ciò ti permette di definire un nuovo tipo di oggetti da altri già definiti.

Per esempio: immagina che tu voglia creare una macro per costruire un cerchio da tre punti. Dovresti inserire tre punti, costruire quindi delle perpendicolari e dei punti medi fino a quando trovi il centro. Ora puoi usare il comando esistente Cerchio dati il centro e un punto (usando uno dei tre punti come punto per questo comando). L'immagine seguente dovrebbe chiarirti le cose:

Una macro all'opera Una macro all'opera

Successivamente viene la definizione della macro. Seleziona la voce di menu Tipi Nuova macro..., oppure fai clic sul pulsante Nuova macro... nella barra degli strumenti. Apparirà una procedura guidata che ti chiederà di selezionare gli oggetti dati: nel nostro esempio, sono i tre punti. Selezionali (fai clic su di essi per selezionarli, oppure clic di nuovo per deselezionarli), poi fai clic sul pulsante Successivo per continuare. Infine, seleziona l'ultimo oggetto (nel nostro esempio, solo il cerchio).

La procedura guidata per le macro La procedura guidata per le macro

Dopo aver completato i passi precedenti, fai clic sul pulsante Successivo per continuare. Inserisci un nome e opzionalmente una descrizione per il nuovo tipo, quindi fai clic sul pulsante Fine. Il tuo tipo macro ora è finito.

Per usare il nuovo tipo macro, fai clic sul suo pulsante nella barra degli strumenti, oppure usa il menu Oggetti. La costruzione di ogni oggetto macro è come quella di ogni altro oggetto.

Usare il tuo nuovo tipo Usare il tuo nuovo tipo

### Lavorare con i tipi

Come hai visto nel capitolo precedente, &kig; ti permette di creare i tuoi oggetti. &kig; si assicura anche che una volta che hai creato un oggetto, esso venga salvato all'uscita e caricato all'avvio del programma. Non devi salvare e caricare le definizioni delle macro manualmente. Tuttavia, &kig; ti permette di fare di più con le macro. Se selezioni Tipi Gestisci tipi... dal menu, vedrai una finestra: qui puoi modificare i tuoi tipi. Essa ti permette di modificare quelli esistenti, di eliminare quelli non più utilizzati, di esportarli su file, o anche di caricarli da un altro file.

La finestra Modifica tipi La finestra Modifica tipi

### Etichette di testo

&kig; ti permette di aggiungere delle etichette di testo ad una costruzione. Ciò è molto utile per aggiungere i nomi, le spiegazioni o dell'altro testo alle costruzioni. &kig; può anche visualizzare le informazioni variabili sugli oggetti (note anche come proprietà).

Per iniziare a costruire un'etichetta di testo, premi semplicemente il pulsante Etichetta di testo nella barra degli strumenti di &kig;, oppure seleziona la voce di menu Oggetti Altri Etichetta di testo .

Quindi devi scegliere un posto dove mettere l'etichetta di testo. Puoi scegliere sia un luogo casuale sullo schermo, sia di associare l'etichetta ad un oggetto.

Associare un'etichetta ad un cerchio... Associare un'etichetta ad un cerchio...

Dopo aver selezionato dove posizionare l'etichetta, appare la finestra dell'etichetta di testo. Qui puoi digitare il testo da mostrare nella nuova etichetta: fai quindi clic su Fine. Ora dovresti vedere l'etichetta nel documento.

La finestra Etichetta di testo La finestra Etichetta di testo

L'esempio precedente era semplice, e limitato al solo testo. Tuttavia, in un'etichetta è possibile mostrare anche delle informazioni variabili sugli oggetti (⪚ puoi costruire un'etichetta che mostra il testo Questo segmento è lungo %1 unità., dove %1 dovrebbe essere sostituito dinamicamente dalla lunghezza di un segmento specifico).

Per fare ciò, inserisci un testo con dei segnaposto (%1, %2 &etc;). Quando hai finito, per continuare premi il pulsante Successivo. Se in seguito vuoi cambiare il testo o le variabili, puoi sempre tornare indietro usando il pulsante Precedente.

La procedura guidata adesso mostra il testo inserito con tutti i segnaposto sostituiti da qualcosa come argomento 1. Puoi selezionare la proprietà connessa ad un certo argomento facendo prima clic sull'argomento in questione, poi clic sull'oggetto di cui hai bisogno e che ha questa proprietà: seleziona quindi la proprietà stessa dal menu a comparsa che appare. Ad esempio, nell'esempio sopra è necessario fare clic su argomento 1, clic sul segmento corretto nella finestra principale di &kig;, e selezionare la proprietà Lunghezza. In seguito puoi riempire le parti variabili rimanenti, o cambiare la proprietà di una delle parti variabili se lo vuoi. Quando hai finito, fai clic sul pulsante Fine per completare la costruzione dell'etichetta di testo.

Selezionare una proprietà per una parte variabile Selezionare una proprietà per una parte variabile

### Luoghi

&kig; supporta l'uso dei luoghi. Un luogo è definito matematicamente come l'insieme di tutti i punti o delle rette che soddisfano o sono determinati da delle condizioni specifiche; come nel luogo dei punti equidistanti da un punto dato che è una circonferenza. Vediamo un esempio di come è usato un luogo in &kig;:

Considera la costruzione geometrica seguente: disegniamo un cerchio, e un punto che può muoversi liberamente lungo la sua circonferenza (costruisci questo punto posizionando il puntatore su un cerchio, e premendo il &MMB;. Se provi a muovere il punto risultante, vedrai che non potrai muoverlo fuori dal bordo del cerchio). Quindi, disegniamo un segmento da quel punto fino al centro del cerchio, e il punto medio di quel segmento.

Una semplice costruzione usando un luogo Una semplice costruzione usando un luogo

Adesso, se sposti il punto vincolato al cerchio, vedrai che il secondo punto si sposta di conseguenza. Se tu tenessi una penna sul secondo punto, e spostassi il primo punto attorno al cerchio, vedresti disegnato un nuovo cerchio grande la metà dell'altro. Il percorso effettuato dal secondo punto durante il movimento del primo attorno al cerchio è il suo luogo.

In realtà, la costruzione del luogo di un punto è molto semplice. Fai clic sul pulsante Luogo nella barra degli strumenti, oppure seleziona la voce di menu Oggetti Altri Luogo. Quindi seleziona il punto vincolato come punto mobile (apparirà il testo Punto mobile non appena ci posizionerai il mouse sopra), e l'altro come Punto dipendente. Verrà così disegnato il luogo del punto vincolato.

## Script

&kig; ti permette di creare dei tipi personalizzati nel linguaggio di script Python. Questa è una caratteristica molto avanzata, e conosco solo un altro programma per la geometria interattiva con una funzionalità simile (il programma per GNOME &drgeo;).

In &kig;, il sistema di script in Python ti permette di definire degli oggetti da altri, definiti genitori. Per esempio, se sei un insegnante di matematica e conosci molti modi per calcolare un punto interessante di una conica, invece di confonderti con costruzioni complesse e macro, scrivi solamente il codice Python necessario per calcolarlo, e &kig; te lo mostrerà.

Immagina di non conoscere il tipo incorporato Punto medio di &kig;, e di voler mostrare il punto medio di due punti dati. Fai clic sul pulsante Script Python nella barra degli strumenti, oppure seleziona Oggetti Altri Script Python dalla barra dei menu. Ti si presenta, quindi, una procedura guidata che ti permette di procedere.

La procedura guidata degli oggetti Script La procedura guidata degli oggetti Script

La prima cosa da fare è selezionare gli argomenti per l'oggetto script. Nel nostro esempio, questi sono rappresentati dai due punti dei quali vogliamo calcolare il punto medio. Selezionali nella finestra principale di &kig;, e fai clic su Successivo per procedere.

Adesso ti si presenta una casella di testo dove puoi inserire il codice per lo script. Ce n'è già un pezzo che serve da modello, oltre a dei commenti. Devi assicurarti di aver inserito del codice Python valido. Chi ha già familiarità con Python, noterà che stiamo definendo una funzione Python chiamata `calc`. Perciò è necessario seguire le regole di Python per la definizione delle funzioni. Per esempio, ogni linea della funzione dovrebbe iniziare con tab. La prima linea che non inizia con tab termina la definizione della funzione.

La funzione Python da definire è chiamata `calc`, e nel nostro caso accetta due argomenti. Questi sono gli oggetti selezionati come argomenti nella schermata precedente. Hai bisogno di tanti argomenti quanti ne hai selezionati lì. Sono chiamati `arg1` e `arg2` ma, se vuoi, puoi cambiare i loro nomi in qualcosa di più significativo.

Nella funzione puoi fare tutti i calcoli che ritieni necessari, usando, se opportuno, i due argomenti. Dovresti ritornare l'oggetto che vuoi definire. Nel nostro caso, questo è un oggetto `Point`. Anche i due argomenti sono oggetti `Point`, e possiamo usare la funzione `Point.coordinate()` per ricavare le coordinate dei due punti dati.

I calcoli necessari nel nostro esempio sono molto semplici: dobbiamo sommare assieme le due coordinate, e dividere il risultato per due. Costruiamo quindi un nuovo punto usando il risultato. Il codice Python necessario è:

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

Inserimento del codice L'inserimento del codice per il punto medio nella procedura guidata dell'oggetto Script.

Se fai clic sul pulsante Fine, nel documento di &kig; apparirà il nuovo oggetto. Se sposti uno dei punti, quello appena creato si sposterà di conseguenza. In questo modo possono essere costruiti molti oggetti potenti: sei incoraggiato a provare.

L'oggetto Script appena costruito L'oggetto Script appena costruito.

Nel codice Python si possono usare tutti gli oggetti di &kig;. Come abbiamo visto sopra, i punti appartengono alla classe `Point`, e ⪚ puoi usare il metodo `Point.coordinate()`. Puoi restituire tutti i tipi di oggetti, non solo `Point`. Dal codice Python di &kig; sono disponibili molte altre classi e metodi; sul sito di &kig; è disponibile una guida più completa.

## Funzionalità di &kig;

- &kig; è un'applicazione open source. Ciò significa che sei libero di usarla e di modificarla come vuoi. La distribuzione di &kig; è soggetta ad alcune restrizioni: in pratica, ognuno dovrebbe avere gli stessi diritti di usare &kig; con le modifiche apportate.

  Il software libero è sviluppato con uno spirito molto aperto, e i programmatori sono in genere molto sensibili alle segnalazioni degli utenti. Perciò, se hai domande, lamentele, o qualsiasi altra cosa su &kig;, contatta la lista di distribuzione kde-edu all'indirizzo di posta elettronica kde-edu@kde.org.

- &kig; è un'applicazione KPart, il che significa che puoi integrarla in altro software &kde;. Puoi aprire un file `.kig` in &konqueror; senza dover avviare un'applicazione esterna.

- Lavorare con &kig; dovrebbe essere molto semplice. La costruzione degli oggetti è facile e interattiva, dato che vengono mostrati i risultati preliminari, &etc; Spostare, selezionare, costruire gli oggetti funziona come uno se l'aspetta. Anche l'annullamento delle modifiche dovrebbe essere molto intuitivo.

- &kig; supporta la definizione delle macro in maniera semplice. Questi oggetti sono presentati all'utente come oggetti normali. Vengono salvati all'uscita e caricati all'avvio, in modo che non vadano persi. Puoi gestire questi tipi nella finestra Gestisci tipi (guarda working-with-types). Puoi esportarli su file, importarli da file, modificarli ed eliminarli.

- &kig; salva i suoi dati in un formato &XML; chiaro.

- &kig; supporta la costruzione di luoghi.

- &kig; ti permette di esportare un file di &kig; in alcuni formati interessanti, ad esempio immagini, file di XFig e di LaTeX, oltre a immagini vettoriali &SVG;. Ciò è piuttosto utile, dato che non tutti i programmi supportano ancora il formato di file di &kig;.

- &kig; ha un sistema per le trasformazioni flessibile.

- &kig; mira ad essere compatibile con i suoi concorrenti. È la ragione per cui supporta il formato di file di &kgeo;, quello di &kseg; e, parzialmente, quelli di &drgeo; e di &cabri;; inoltre è stato programmato per supportare altri formati.

## Riconoscimenti e licenza

Autori principali:

Copyright di &kig; 2011-2015 David E. Narvaez david.narvaez@computer.org

Copyright di &kig; 2002-2013 Maurizio Paolini paolini@dmf.unicatt.it

Copyright di &kig; 2004-2010 Pino Toscano pino@kde.org

Copyright di &kig; 2002-2005 Dominique Devriese devriese@kde.org

Copyright della documentazione 2002-2004 Dominique Devriese devriese@kde.org

Copyright della documentazione 2004-2005 Pino Toscano toscano.pino@tiscali.it

Riveduta da &Philip.Rodrigues; &Philip.Rodrigues.mail;.

Traduzione italiana di Pino Toscano toscano.pino@tiscali.it

&underFDL; &underGPL;

## Contribuire

### Software Libero

&kig; è un software libero. Ciò significa che il suo codice sorgente è liberamente disponibile su Internet: ognuno può usarlo, leggerlo, modificarlo, e distribuirlo.

### Contribuire

Lo scopo di questo capitolo è quello di illustrare a te, l'utente, i diritti che ti dà la licenza di &kig;. Come con tutti i software liberi, puoi liberamente risolvere i problemi incontrati durante l'uso (e sei incoraggiato a farlo), ad aggiungere le caratteristiche mancanti, a distribuire il tuo programma modificato, e ad inviare queste modifiche affinché possano essere incluse con gli strumenti di revisione disponibili per la comunità &kde;.

Se hai dubbi sui tuoi diritti ad usare questo software, o quelli di altre persone ad usufruire delle modifiche che hai fatto a questo programma, &etc;, leggi la licenza. Puoi trovarla nel file `COPYING` nei sorgenti di &kig; o nel collegamento Licenza nella finestra Informazioni su &kig;.

### Come contribuire?

Qualsiasi contributo è ben accetto. Se non ti piacciono le icone, o pensi che il manuale debba essere aggiornato, o se hai una bella macro che vuoi condividere con il mondo, non esitare a mandar ciò a me. Nota che i contributi verranno distribuiti sotto i termini della licenza &GNU; GPL; puoi trovare i termini di questa licenza nel file `COPYING` nei sorgenti di &kig;, e nel capitolo Riconoscimenti e licenza in questo manuale.

&documentation.index;