Si possono generare delle linee curve con Jgraph se si interpretano alcuni dei punti indicati come punti di controllo per una curva di Bézier.
Nella sezione 6.13 vengono indicati dei possibili spunti di approfondimento sulla questione, ma si consideri che per definire una curva di Bézier con Jgraph servono almeno quattro punti, e in generale è possibile tracciare una curva di Bézier mediante 3*n+1 punti di controllo, di cui 2*n di controllo e i rimanenti n+1 di passaggio della curva.
Il listato 6.22 e la figura 6.23 fornuscono un esempio in cui viene disegnato un pallone da football americano (molto stilizzato a dire il vero) mediante curve di Bézier.
|
Altre caratteristiche.
|
Accenniamo ad alcune ulteriori interessanti caratteristiche del programma Jgraph, rinviando il lettore interessato alla sezione 6.13 per eventuali approfondimenti.
Dall'interno di un sorgente Jgraph è possibile invocare un comando della shell o un programma esterno scrivendo shell : comando; l'output generato viene contestualmente incluso nel sorgente.
Un'altra caratteristica interessante di Jgraph è quella di poter utilizzare una qualunque immagine in formato EPS come indicatore, utilizzando l'attributo di curva eps.
Infine, si noti che è possibile tracciare più di un grafico nella stessa immagine mediante un ulteriore newgraph oppure mediante copygraph: in quest'ultimo caso il grafico successivo eredita gli assi dal precedente. Il posizionamento relativo dei vari grafici è gestibile mediante gli attributi di grafico x_translate e y_translate. È altresì possibile posizionare i vari grafici su più pagine, mediante la parola chiave newpage. Il listato 6.24 e la figura 6.25 presentano un esempio di utilizzo di copygraph.
|
Utilizzo programmatico.
|
Il punto di forza dei programmi non interattivi è quello di poter essere facilmente utilizzati come anelli di una catena di strumenti o processi; la connessione delle varie parti può essere gestita semplicemente mediante generiche pipeline, o addirittura mediante specifici programmi «wrapper», progettati per uno scopo preciso, che costruiscano programmaticamente l'input da far elaborare.
«njgraph.pl»
«njgraph.pl»
Un esempio interessante è il programma njgraph.pl di Neil Spring. Si tratta di un piccolo sorgente in Perl che in pratica realizza una specie di programma frontale per Jgraph: esso legge dallostandard input una singola serie di dati da rappresentare graficamente, e dopo averli opportunamente passati a Jgraph per l'elaborazione invoca GV, a meno che lo standard output non venga rediretto.
Il programma njgraph.pl riconosce altresì gli attributi marktype, linetype e color (e relativi valori) facoltativamente presenti sulla riga di comando, e li posiziona opportunamente all'interno del sorgente Jgraph prima dell'elaborazione.
Il programma njgraph.pl riconosce altresì gli attributi marktype, linetype e color (e relativi valori) facoltativamente presenti sulla riga di comando, e li posiziona opportunamente all'interno del sorgente Jgraph prima dell'elaborazione.
La figura 6.26 illustra qualche esempio di invocazione del programma njgraph.pl, mentre la figura 6.27 ne illustra l'output.
|
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
Nessun commento:
Posta un commento