Click here to load reader

Computer grafica con il plotter - · PDF fileI Computer grafica con il plotter I COMANDI PLOTTER WATANABE Come è fatto un plotter Sempiificando al massimo la descrizione del plotter,

  • View
    215

  • Download
    0

Embed Size (px)

Text of Computer grafica con il plotter - · PDF fileI Computer grafica con il plotter I COMANDI...

  • I Computer grafica con il plotter I

    COMANDI PLOTTER WATANABE

    Come fatto un plotter

    Sempiificando al massimo la descrizionedel plotter, potremmo dire che consiste inuna base (superficie su cui poggia la carta)

    N indica la scala con la quale tracciare i caratteriN indica la rotazione con la quale tracciare i caratteriX$ la stringa da scriveretraccia un simbolo grafico, in aggiunta al set di caratterialfanumerici, specificato da N.

    traccia un asse X (se P = O) o Y (se P = I) composta da Rsegmenti di lunghezza Qmuove la penna alzata fino al punto di coordinate plO\ler 0,0se P = l traccia linee tratteggiateL indica la lunghezza del tratto nel tratteggio

    Caratteristiche tecniche del plotter

    l) Formato della cartanei plotter a rullo ed in alcuni plotter piani,in cui previsto lo scorrimento della carta, definita solo la dimensione lungo la qualescorre la testa con la penna, l'altra puessere infinita.

    2) Definizione del trattoconsiste nel pi piccolo incremento nellaposizione X o Y indirizzabile via software.

    3) Velocit della pennatanto pi elevate sono la velocit e l'accele-

    e in un meccanismo costituito da due mo-tori in grado di realizzare il movimentorelativo, nelle due direzioni X e Y, tra fo-glio di carta e penna. Ci sar infine unmeccanismo in grado di alzare ed abbassa-re la punta scrivente. Tutto qui.

    Ci sono due tipi di plotter: il plotterpiano ha una base fissa e si muove solo lapenna lungo il braccio (per movimento Y)e la penna con tutto il braccio (per movi-mento X), e il plotter a rullo costituito dauna superficie cilindrica su cui poggia lacarta e che ruota (movimento X) mentre ilbraccio su cui scorre la penna (movimentoY) fisso.

    muove la penna (alzata) fino al punto XY in coordinateassolute del plottermuove la penna (alzata) fino al punto di coordinate relativeXY rispetto al punto di partenzatraccia la linea fino al punto XY in coordinate assolute delplottertraccia le linee fino al punto di coordinate relative XY rispettoal punto di partenza

    comandi principaliPRINT "M"; X; Y

    PRINT 'T'; X; Y

    PRINT "O"; X; Y

    PRINT "R"; X; Y

    comandi di utilitPRINT "X"; P; Q; R

    PRINT "H"PRINT "L";PPRINT "B"; Lcomandi di printPRINT "S"; NPRINT "Q"; NPRINT "P"; X$PRINT "N"; n

    A conferma di questo c' la constatazio-ne che le applicazioni pi diffuse negli studiprofessionali, dove la c.G. trova un usonon hobbistico e sicuramente non antieco-nomico, sono proprio quelle in cui il soft-ware pi generalizza bile, ovvero utiliz-zabile pi volte.

    Sono infatti diffuse applicazioni nelcampo della progettazione stradale, dove idisegni (profili e sezioni) sono ripetitivi, nelcampo della progettazione meccanica, do-ve gli elementi base sono sempre gli stessi(si pensi al disegno di un pezzo meccanicoin cui compaiono quindici bulloni identi-ci), nella progettazione elettronica, si pensialla soluzione analitica dei circuiti elettro-nici e al disegno di una scheda, ecc.

    Ma se si dovesse realizzare un program-ma che disegna ad esempio il prospetto delColosseo, ci vorrebbe tanto tempo e il pro-gramma non sarebbe pi riutilizzabile senon che per disegnare il prospetto del Co-losseo.

    In questo numero e nel successivo tratte-remo ampiamente le problematiche con-nesse con l'uso del plotter in computer gra-fica. Problematiche che concernono sia leapplicazioni, ovvero in quali campi con-viene utilizzare e in quali no il plotter, sia ledifficolt che si incontrano a livello soft-ware nella sua utilizzazione.

    Poich i comandi per utilizzarlo via soft-ware sono pochi e di immediata compren-sione, si vedr come prevedere una uscitasu plotter non costituisce un appesanti-mento della programmazione n presentaproblemi di compatibilit con qualsiasiBasic e quindi con qualsiasi microcompu-ter.

    Inoltre, e il discorso vale per chi non haun plotter, ma ha perlomeno un micro-computer, i programmi presentati possonoessere facilmente convertiti per altre unitdi output.

    Le unit di output proprie della Compu-ter Grafica sono il plotter e il video graficoanche se, come abbiamo visto nei numeriprecedenti, per tal une applicazioni si pos-sono ottenere risultati soddisfacenti conunit di output non grafico.

    I campi di applicazione delle due unitsono sostanzialmente differenti. Il videografico ha una minore definizione, ma unamaggior velocit nella formazione dell'im-magine, e pu fornire, e solo quando siabbia una stampante grafica, solo unahard copy dello schermo, quindi con paridefinizione. Il suo uso principalmente inComputer Grafica Interattiva dove, adesempio, importante esaminare oggetti inmovimento oppure chiedere ed ottenereimmediatamente variazioni di scala o rota-zioni di un disegno. Il plotter invece forni-sce un disegno su carta con una definizionealtissima (ai limiti della visibilit) e con unavelocit altissima, insomma prestazionisuperiori a qualsiasi bravo disegnatore.

    Ma a fronte di questi enormi vantaggi,quali sono gli svantaggi? Innanzitutto ilprezzo, che pur potendo scendere per i tipipi economici ai due milioni, diventa ele-vato per i plotter con caratteristiche miglio-ri, e quindi pu entrare in modo determi-nante nell'analisi costi-benefici. Poi c' ilproblema del software.

    Per realizzare un disegno occorre co-munque realizzare un programma che pudiventare estremamente complesso e quin-di costoso, e in definitiva pu costituirel'elemento fondamentale di scelta.

    MCmicrocomputer 4 53

  • 0= 1= 2= 3= 4= 5= 6= 7=B= 9= 10= Il = 12= 13= 14= 15=16= 17= 1B= 19= 20= 21= 22= 23=24= 25= 26= 27= 2B= 29= 30= 31=32= 33=1 34=" 35=# 36=1 37=1. 3B=& 39='40=( 41=) 42=* 43=+ 44=. 45=- 46=. 47=/4B=0 49=1 50=2 51=3 52=4 53=5 54=6 55=756=B 57=9 58=: 59=: 60=< 61== 62=> 63='164=i 65=A 66=8 67=C 68=0 69=E 70=F 71=G72=H 73=1 74=J 75=K 76=L 77=M 7B=N 79=080=P B1=(;I82=R 83=5 B4=T B5=U B6=V B7=W88=X 89='( 90=l 91=[ 92=\ 93=J 94=f 95=-96= 97=0. 98=b 99=c 100=d.101 =e 102=1 103=9104=h 105=l 106=J 107=k 10B=1109=m 110=n 111=0112=p 113=q 114=r 115=s:116=t 117=u 118=v 119=."120=)

  • Computer grafica con ilplotter

    ; R:l.; r:::

    PP I tJT [1$" PF.:#0"

    (A * K)l", A :+: ~:::::.cc'::,::

    :; rtJ

    * ~~.i N ; !-i T K .'* C O:::. (, H * ~.)

    F.'1 o+-P:t t

    :::iIN (A)C05 (A)

  • Computer Krq/ca con il ploller

    sto, che prevede un digitizer per l'inputrapido per i dati, una gestione di file perl'archiviazione dei dati grafici e un plotterper l'output.

    In realt in certe applicazioni, come adesempio nella cartografia, impensabileutilizzare il plotter immettendo dati da ta-stiera, basta considerare che la piantinadella Sicilia, realizzata con il programmadi campi tura, definita da oltre 300 punti(mezzora di lavoro di input), che sono benpoca cosa in confronto degli oltre 8 milionidi punti definibili dal Plotter.

    Esaminiamo il programma di campi tu-ra.

    I dati da immettere sono:- numero delle regioni da campire e perogni singola regione:

    valori delle coordinate dei vertici,- angoli del tratteggio,- distanza tra i vari segmenti del tratteg-gIO.

    Per chi ha un APPLE II il programmatramire lo switch PL, indirizza l'output osul monitor grafico o sul plotter.

    Una volta caricati i perimetri delle varieregioni viene richiamata per ciascuna re-gione la subroutine di tratteggio.

    Questa, ma rimandiamo chi vuole ap-profondire l'argomento alla lettura di PI-XEL, consiste:- nella rotazione di un angolo AG delpoligono, in modo da avere un tratteggioorizzontale,- nel calcolo dei punti di intersezione tratutti i segmenti del suo perimetro presi insequenza e le varie rette parallele necessa-rie al tratteggio,- nell'immagazzinamento in un vettoredi questi punti-intersezione,- nella nuova rotazione dei punti trovatiper riportarli nella posizione originaria,- nel tracciamento del tratteggio, ottenu-to unendo l'una o pi coppie trovate dipunti-intersezione.

    La subroutine risolve, con questo siste-ma del vettore dei punti-intersezione il pro-blema del tratteggio in caso di convessit.Anzi il programma funziona anche conpoligoni intrecciati.

    Le implementazioni immediate sono lacampi tura totale del poligono, ottenuta in-fittendo la tratteggiatura, la quadrettaturadel poligono, ottenuta sovrapponendo duetratteggi ruotati di 90 gradi.

    Con un plotter a pi penne si possonoottenere "con una istruzione in pi", cam-piture e tratteggi a pi colori.

    Con il plotter ad una sola penna, ma conun certo numero di penne a disposizione sipossono ottenere ugualmente piantine co-lorate, basta cambiare, dando uno STOPal p'rogramma, la penna durante l'esecu-zione.

    Output e listing in figg. 8 e 9.Nel prossimo numero continueremo la

    trattazione dell'argomento Plotter e pre-senteremo altri programmi DEMO, esami-nati ancora dal punto di vista dell'utilizza-tore o dell'eventuale utilizzatore.

    :1. THEt..l 261.31,3IF FLAG

    "; SC RETUF,N

    " ; NR: FOR tu = ~ TO NR"; tU PRItH

    Il programma di campi tura

    La rivista PIXEL, organo ufficiale dellaAssociazione Italiana Computer Grafica,presenta nel numero 3 del 1981, nell'inte-ressante rubrica di "Algoritmi per la grafi-ca", un algoritmo per il tratteggio di figurepoligonali comunque complesse, descrittodettagliatamente e presentato in forma disubroutine in Fortran.

    Questa soubroutine si presta a numeroseutilizzazioni, nei vari campi della Compu-ter Grafica e si presta inoltre a numeroseimplementazioni.

    Abbiamo quindi pensato di "tradurre"la subroutine in BASIC per utilizzarla con imicrocomputer e di inserirla in un pro-grammino DEMO con output su plotter.

    Il programma, essendo dimostrativo,semplifica l'input dei dati, chiedendo li datastiera. L'implementazione ottimale quella, speriamo di poteri a presentare pre-

    calcolati incrementando di un angolo D larotazione del dischetto.

    L'output e illisting sono in fig. 5, 6