[successivo] [precedente] [inizio] [fine] [indice generale]
In questa sezione vengono illustate alcune delle possibilità del programma eukleides, degli script euk2eps e euk2edit e del programma xeukleides.
Il linguaggio Eukleides è stato progettato per essere simile al linguaggio tradizionale della geometria piana euclidea. Ad esempio, per disegnare un triangolo è sufficiente preparare un file contenente il listato 1.2: se il file si chiama triangle.euk
, ecco come si potrebbe procedere:
$
eukleides triangle.euk
[Invio]
% Generated by eukleides 0.9.2 \psset{linecolor=black, linewidth=.5pt, arrowsize=2pt 4} \psset{unit=1.0000cm} \pspicture*(-2.0000,-2.0000)(8.0000,6.0000) \pspolygon(0.0000,0.0000)(6.0000,0.0000)(2.2500,3.6742) \endpspicture |
$
L'output così generato può essere copiato così com'è in un sorgente TeX oppure LaTeX, ricordandosi però di includere anche il pacchetto pstricks. Il documento generato conterrà la figura 1.3.
|
|
Per ottenere più rapidamente una figura da visualizzare si può ricorrere allo script euk2eps il quale genera un file in formato EPS che a sua volta è visualizzabile tramite (ad esempio) GV. Esiste inoltre lo script euk2edit il quale, appoggiandosi a Pstoedit, consente la conversione in vari formati grafici vettoriali come ad esempio quello utilizzato dal programma XFig; per esempio, per poter successivamente modificare con XFig l'immagine è sufficiente procedere come segue:
$
euk2edit triangle.euk fig
[Invio]
This is eukleides version 0.9.2 Copyright (c) Christian Obrecht 2000-2002 ==> Warning: BoundingBox not found! pstoedit: version 3.33 / DLL interface 108 (build Jul 29 2004 - release build) : Copyright (C) 1993 - 2003 Wolfgang Glunz Warning: some types of raster images in the input file cannot be converted if th e output is sent to standard output Warning: Level 2 version of image and imagemask not supported for this backend ( due to lack of support for FILE files) Interpreter finished. Return status 0 |
$
cat triangle.fig
[Invio]
#FIG 3.2 Portrait Flush left Inches Letter 100.00 Single 0 1200 2 # polyline 2 1 0 1 0 0 999 0 -1 4.0 0 0 0 0 0 5 2675 3166 2143 4033 4978 4033 3206 2298 2675 3166 |
$
Spesso risulta più comodo avere un singolo file che contenga sia testo che figure; in tal caso è possibile utilizzare l'opzione -f e i commenti speciali %--eukleides e %--end nel sorgente TeX oppure LaTeX. Ad esempio:
$
cat triangle.etex
[Invio]
\input pstricks This is a scalene triangle:\par %--eukleides A B C triangle draw(A, B, C) %--end \bye |
$
eukleides -f triangle.etex > triangle.tex
[Invio]
$
cat triangle.tex
[Invio]
\input pstricks This is a scalene triangle:\par % Generated by eukleides 0.9.2 \psset{linecolor=black, linewidth=.5pt, arrowsize=2pt 4} \psset{unit=1.0000cm} \pspicture*(-2.0000,-2.0000)(8.0000,6.0000) \pspolygon(0.0000,0.0000)(6.0000,0.0000)(2.2500,3.6742) \endpspicture % End of figure \bye |
$
Dal file triangle.tex
è quindi possibile ottenere un file in formato DVI e quindi uno in formato PostScript:
$
tex triangle.tex
[Invio]
This is TeX, Version 3.14159 (Web2C 7.4.5) (./triangle.tex (/usr/share/texmf/tex/generic/pstricks/pstricks.tex `PSTricks' v97 patch 14 <1999/12/23> (tvz) (/usr/share/texmf/tex/generic/pstricks/pstricks.con)) [1] ) Output written on triangle.dvi (1 page, 740 bytes). Transcript written on triangle.log. |
$
dvips -o triangle.ps triangle
[Invio]
This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) ' TeX output 2006.02.05:2049' -> triangle.ps <texc.pro><pstricks.pro><pst-dots.pro><f7b6d320.enc><texps.pro><special.pro> . <cmr10.pfb>[1] |
$
Il programma per X xeukleides è un programma frontale interattivo per il linguaggio Eukleides. Ha due modalità di funzionamento:
modalità di modifica,
modalità di presentazione.
Volendo avviare xeukleides e subito modificare il file di cui alla sezione 1.1, si digiti:
$
xeukleides triangle.euk
[Invio]
Volendo invece avviare il programma in modalità di presentazione, è sufficiente aggiungere l'opzione -V alla riga di comando. Per alternare fra le due modalità si utilizi il tasto [Esc] (figura 1.10). Siccome la modalità di modifica è realizzata grazie alle funzionalità per la modifica del testo offerte dalle librerie GTK+, xeukleides possiede tutte le caratteristiche normalmente offerte da un semplice editor di testo; la tabella 1.11 elenca alcune utili scorciatoie.
|
|
Il triangolo definito dal comando A B C triangle è un triangolo scaleno ottimale (ossia: un triangolo acutangolo la cui forma si discosta il più possibile sia da quella di un triangolo isoscele che da quella di un triangolo rettangolo). È ovviamentre possibile disegnare altri tipi di triangolo: il linguaggio Eukleides permette di definire i triangoli in molti modi; per esempio, la figura 1.12 illustra ciò che si ottiene sostituendo il comando triangle con il comando isosceles oppure equilateral oppure right.
|
I suddetti comandi possono eventualmente accettare dei parametri opzionali, ad esempio A B C triangle(6, 5, 4) definisce un trinagolo ABC tale che i lati AB, BC e AC misurino rispettivamente 6 cm, 5 cm e 4 cm. Altro esempio: A B C isosceles(6, 50:) definisce un triangolo isoscele ABC tale che la base AB misuri 6 cm e gli angoli alla base misurino entrambi 50°.
In questa sezione si mostra come generare la figura 1.13.
|
Per prima cosa è necessario definire il parallelogrammo e il suo centro:
|
poi si possono disegnare entrambi:
|
poi si disegnano le diagonali:
|
e infine si marcano le semidiagonali con dei doppi tratti:
|
e delle croci:
|
In questa sezione verrà introdotto un esempio di figura interattiva, tramite la quale si «dimostrerà» che un triangolo inscritto in una semicirconferenza è necessariamente rettangolo. Nella figura sarà possibile spostare il vertice che giace sulla semicirconferenza utilizzando i tasti [freccia destra] e [freccia sinistra].
Per prima cosa si definiscono i punti A e B e la circonferenza C di diametro AB, con i seguenti comandi:
|
I punti A e B sono definiti tramite le loro coordinate cartesiane.(1) Successivamente si definisce una variabile interattiva, t:
|
Ciò significa che il valore iniziale di t è 60, il valore minimo è zero e il valore massimo è 180. In modalità di presentazione, ogniqualvolta si preme uno dei tasti [freccia destra] o [freccia sinstra] il valore -2 viene addizionato o sottratto (rispettivamente) alla variabile. Indicando up al posto di right si associa la variabile ai tasti [freccia su] e [freccia giù]. Infine, "A" indica lo stato interno corrispondente alla variabile.(2)
Successivamente si definisce un punto M sulla circonferenza C:
|
Il secondo parametro è seguito dal simbolo di due punti (:) per indicare che si tratta di un parametro angolare: la variabile t corrisponde all'argomento(3) (seconda coordinata polare) del punto M rispetto al polo posto nel centro di C.
Dopodiché si disegna la semicirconferenza superiore di C e il triangolo ABM inscritto:
|
Infine si marca l'angolo con vertice in M come retto:
|
La figura 1.24 illustra il risultato finale.
|
È ora possibile interagire con la figura, grazie al programma xeukleides, utilizzando i tasti freccia, e constatare infine graficamente la validità della congettura geometrica enunciata all'inizio (figura 1.25).
|
Se si preme il tasto [F1] in modalità di presentazione si «cattura» il valore modificato della variabile interattiva: esso costituirà il nuovo valore iniziale della variabile, e il programma passa automaticamente alla modalità di modifica.
Il codice scritto per xeukleides può essere utilizzato come sorgente per eukleides: le eventuali variabili interattive assumeranno staticamente il loro valore iniziale.
Informatica per sopravvivere 2006.02.18 --- Copyright © 2004-2006 Massimo Piai -- <pxam67 (ad) virgilio·it>
1) Salvo quando diversamente specificato, la figura viene disegnata all'interno di un riquadro il cui vertice inferiore sinistro ha coordinate (-2;-2) e quello superiore destro coordinate (8;6).
2) Quando si entra in modalità di presentazione il programma è nello stato "A"; essendoci 26 lettere da "A" a "Z" si possono definire 52 variabili interattive per la medesima figura (ogni stato può essere associato a due variabili, una per ciascuna coppia di tasti freccia); per cambiare stato basta premere il corrispondente tasto alfabetico.
3) in gradi
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome guida_elementare.html