Page 79

Grafica

FUNZION

REGRESS

SIDIMOl

set di caratteri grafici che "escono" sul video grafico; - istruzioni specifiche tipo CIRCLE, UNE, che permettono il disegno diretto di circonferenze, archi e rettangoli. Invece con l'Apple occorre fare delle apposite routinette. - l'esistenza di istruzioni per la memorizzazione di aree di pagina grafica e per il loro trasferimento in altre zohe della pagina grafica, GET e PUT grafico. Quindi, un programma che faccia uso di tutte queste funzioni risulta essere molto più complicato in Applesoft. Inoltre in Applesoft occorrerà caricare set di caratteri,

routine in linguaggio macchina, ecc., consumando "fette" di memoria altrimenti dedicate ai dati. È evidente invece che il cuore del programma, ovvero la parte algoritmica, è del tutto indipendente sia dagli strumenti software che si stanno usando, sia dal fatto che si sta usando un computer. Chi affronta un problema di grafica, quindi, e ci riferiamo ai rieofiti, deve separare logicamente il "cosa disegnare" dal "come disegnarlo". E se trova sulle riviste programmi che lo interessano, scritti però per altre macchine, ricavi il "cosa" per poi utilizzare i propri strumenti.

27 programmi grafici per Apple II

Figura 3 10 :0 :0 ~O 30 60 7'0 80 200 ~10 ~20 ~10 ~40 ~~0 2~0 270 ~90 :00 :;'iO :20

::::?t:1 :A()

PHl ppOGPAr''''lA BIe·Hl0T PEr'1 r'lA! PUBBLICATO SII w·· r'1!CF'O'-C't'lpUTEP pEr'l IL pp()GpAfo1r'lA['ISEGNA l'N TF:IANGOU) SUL r'lmUT':'p pEM POI TpAMITE (Ofo1AN~I ~A TASTIEPA PpOVOCA VApIAZION! ~EL ~ISEGNO pHl cm'1ftt·l[' I e·I pOTAZ IONE ( +,. - A\ pEfo1 cm1AN~I DI s'-'ALmG ,'+.,'- S'· PP.l Cm'lAr·je,I ~ I TPASLAZ I m·IE (+ ..'- '<,'~', pEfo1 pEp FINIpE ppEMEDF ~F PEt" Tt-1I::'IAL EZAZIONE 131 60 G2 - 60 G? - 180 - G1 - G2 Pl ~ : 1415926 P2 ~ Pl 18A P2 ~ Pl 20 G1. ..; 131. t. P2 G2 .,;:;G2 .•. P2 13] - Cf:;' -+: P2 P - S0 ~c - 140 YC ..; ~0 HGP HCOLOP= ~ Al = 0 A2 = 2 .•. G2 A3 .,;:; A? ..•.. 2 + G1 HPlOT ~,0 TO 27Q·0 TO 27Q~1~9 Tn ~·159 TO 0,0 Hm'1E ',lTAB (2i', ppINT "(nr'lANr'I +S -5 +"! -A +:": -:~ +~' -'~ FF" GOSU8 500. GOSUB 600 PHl I Mt'1lSS IONE e'AT I ',/TAB (22) ppItH" VTAB (22', It~pl'T"", A$ IF Ai' "+A" THEN Aj ~ Ai + P: A2 ~ A~: + pJ' A3 A,' + P: GOTO 290 TF A't "-A" THEt-.l Ai. .;;: Ai. - p:;' A2 _':: A:2 - P::;- A] A3: - P:l. GOTO 290 IF

Af;

"+5"

THEN P

-=

P ..•..5

"-S" THEN P = P - 5 Af: "+',..:" THEN:'<C :..::...•. At "-:>(" THEt·j :·:C ~ '>(C At "+Y" THEt-l ·~C ~ '~C + :90 IF A$ "_IT'" THE~·~YC .;: 'T'C 400 I F A:!' "FF" THEN 990(' 4i0 ppINT CHP$ (7) GOTO 3i0 500 pEr'1 CALCOLO PUNTI 51'3 ~u ~ :>(C - F: '" SIN (Al\. '~i 520 ::<2 .;: :-C:C - R·+= SIN (A2) lT';;:: 5].(1 x]: .;:; >~c - p ..•: SIr·~ <A3:) l.,)]: 540 F:ETUpt·j ';"'€' pn' CONTpOl.l o FC'F'~1ATO =50 :-60 :7'0 :80

IF IF IF IF

At

610

TF

~2~ 63:0

IF X2 ~ o THEN ~2 I F :-<3' ,." (1 THEN :.<:?

:.'~

....

640 650 660 670

IF IF IF IF

Yi Y2 Y3 ~1

680

IF

~·<2 J

( < / ~

(t

THFN

:"::1 .;:;

Gnrn

2'::'.1("1

GOTO 290 '5 GOTO 290 5 GOTO 290 5 GOTO 290 5

GOTO 29(1

'~C + p '" 'T'C + p.+: ',.'C + p.+:

eos (Al) COS (A2> C'o:; (A?)

Ci

n l7t

'" THEN Yi ~ n 0 THEN Y2 '" 0 THEN Y3 '" 279 THEN A1 279 279

THEN :;<2

:279

690 IF X3 279 THEN ~3 27Q 700 IF Yi ~ 158 THEN Yi j~8 7'i(' IF 'n " i58 THEt-l'n 158 ,2€' IF ','] '. i58 THEt·j ','] 158 800 REfo1 pLOTTAGGTO 8i0 HplOT :-<i, '~i TO :>(2,'~2 TO :·:3,'<] TO :>(i,'~i 820 pETUpN 9900 pH1 F HjE "'9i0 ppINT ,-'Hp$ (7) pPINT ppINT rHp$ (4\"pIJt-l

MCmicrocomputer

n. 38 - febbraio

1985

STApT"

Il dischetto nel quale abbiamo raccolto programmi grafici per Apple Il pubblicati sulla rivista contiene, oltre al programma iniziale, che esegue uno Slide Show, i 27 elencati nella figura l, assieme al codice tipo logico descritto in precedenza e inserito nella tabella di figura 2 e al riferimento, costituito da numero e pagina di MCmicrocomputer su cui il programma è apparso. Il dischetto è "aperto" in quanto contiene tutte le informazioni utili per modificare il programma, o cambiando i dati da visualizzare, oppure inserendo nuove routine con nuove funzioni. Il codice di difficoltà serve solo per suggerire un ordine logico utile per il principiante che voglia cimentarsi nella grafica. Ripetiamo che, sebbene non strettamente indispensabile almeno per i più smaliziati, 6 comunque utile avere a disposizione gli arretrati con le descrizioni dei vari programmi. Dei 27 programmi pubblichiamo una serie di output su video, per dare una sia pur labile idea delle problematiche trattate, labile specialmente per i programmi interattivi o che producano una serie di output successivi. . E dei 27 programmi ne pubblichiamo qui solo uno, il più facile, che è l'ultimo che si chiama BIDIMOT ed è listato in figura 3. Il programma BIDIMOTsecondo la sua codifica è bidimensionale, produce un solo disegno e lo produce tramite comandi che gli vengono dati via tastiera. Data una figura di partenza, nel nostro caso un triangolo le cui posizioni iniziali e successive sono individuate dalle coppie di valori (X I, Y I, X2, Y2, X3, Y3), tramite comandi via input la si muove e modifica sul video. Il comando + l-A provoca una rotazione di pigreco/20 in senso orario o antiorano. Il comando + l-X o + 1-Y provoca una traslazione nelle 4 direzioni principali. Il comando + I-S provoca una variazione di scala. Dopo la inizializzazione delle variabili (righe 200-290) c'è l'istruzione per l'input e per il riconoscimento del codice (righe 3004 IO). Se il codice è corretto vengono calcolati i tre vertici nelle nuove posizioni (500540) e viene controllato se rientrano nei margini della pagina video (600-720) e se rientrano vengono visualizzati (800-810) .•

79

Profile for ADPware

038 MCmicrocomputer  

Febbraio 1985

038 MCmicrocomputer  

Febbraio 1985

Profile for adpware
Advertisement