Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Grafica
Forum - Pascal - Grafica

Avatar
luca95 (Normal User)
Rookie


Messaggi: 47
Iscritto: 20/02/2011

Segnala al moderatore
Postato alle 17:54
Martedì, 12/04/2011
Ho un problema... non so fare ad usare la grafica in pascal... non ho capito niente dalla guida perché mi da sempre errore quando eseguo il programma quindi qualcuno molto gentilmente potrebbe spiegarmi le basi come tracciare due linee e disegnare dei punti? perché volevo fare un programma modi piano cartesiano :)

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 18:47
Martedì, 12/04/2011
Ciao!

Cosa non hai capito, esattamente?
Che IDE usi?
Posta un codice d' esempio.

PM Quote
Avatar
luca95 (Normal User)
Rookie


Messaggi: 47
Iscritto: 20/02/2011

Segnala al moderatore
Postato alle 14:01
Mercoledì, 13/04/2011
il fatto è che non so proprio da dove partire... volevo tracciare due linee che facciano da piani cartesiani e poi inseriti tre punti calcolare la distanza e altre cose... la parte sui punti e tutto il resto l'ho già fatta mi manca solo la parte grafica... e cos'è l'IDE? e tra l'altro ho scoperto eseguendo un programma già fatto con tanto di grafica che non ho l'unità grafica tra le varie unit che si possono usare... dove la posso trovare?

Ultima modifica effettuata da luca95 il 13/04/2011 alle 17:04
PM Quote
Avatar
Phi (Member)
Expert


Messaggi: 241
Iscritto: 30/12/2009

Segnala al moderatore
Postato alle 19:44
Mercoledì, 13/04/2011
L'IDE è l'ambiente di sviluppo che usi. Ad esempio Free Pascal IDE, Lazarus, Dev Pascal, Turbo Pascal, Delphi eccetera.
Se cerchi su internet "unit wingraph" trovi una unit per compilatori Free Pascal che permette di usare la grafica: http://math.ubbcluj.ro/~sberinde/wingraph/.


Trovi anche vari esempi.

PM Quote
Avatar
Il_Bomba (Member)
Rookie


Messaggi: 33
Iscritto: 26/12/2010

Segnala al moderatore
Postato alle 23:11
Domenica, 24/04/2011
Ciao,
ciò che ti serve è la libreria Graph.

posto un piccolo esempio di come puoi creare gli assi cartesiani:

Codice sorgente - presumibilmente Delphi

  1. program assi;
  2. uses graph; (*Importo la Graph*)
  3. var
  4. scheda:integer;
  5. modo:integer;
  6. i:integer;
  7. xx:integer;
  8. yy:integer;
  9. begin
  10. scheda:=detect;(*Leggo il numero del modello della scheda grafica*)
  11. initgraph(scheda,modo,'C:\FPC');(*Inizializzo la modalità grafica*)
  12. line(20,220,420,220);(*Creo l'asse x, una linea orizzontale*)
  13. line(220,20,220,420);(*creo l'asse y, una linea verticale*)
  14. for i:=1 to 400 do begin (*eseguo le seguenti istruzioni per 400 volte*)
  15. xx:=xx+1;
  16. yy:=yy+1;
  17. putpixel(xx,yy,red); (*Creo ogni volta un punto rosso di coordinate ogni volta incrementate di 1*)
  18. end;
  19. readln;
  20. closegraph;(*Chiudo la modalità grafica*)
  21. end.



Nell'esempio qui sopra, ho dovuto prima di tutto leggere il numero identificativo della scheda grafica con la funzione "detect". Successivamente ho inizializzato la modalità grafica con la funzione "initgraph", alla quale ho passato le variabili "scheda"(contenente il numero identificativo della scheda grafica), la variabile "modo"(che può anche essere vuota) e il percorso nel quale ho installato il compilatore. Ho poi creato due linee: la prima che va dal punto di coordinate 20;220 al punto 420;220 (linea orizzontale, asse x), la seconda che va dal punto di coordinate 220;20 al punto 220;420 (linea verticale, asse y).
Per creare grafici devi utilizzare i cicli (for,while,repeat...) combinati alla funzione "putpixel" o "line". In questo caso, ogni volta, il ciclo "for" incrementa di 1 le variabili xx e yy e crea un punto rosso di coordinate xx;yy per 400 volte.
Il "readln" dopo di questo serve a non far chiudere subito le finestra con il grafico.
Infine, con "closegraph", ho chiuso il grafico.

Una volta capito questo, ti consiglio di dare un'occhiata ad un mio programma nel quale ho utilizzato la Graph per il tuo stesso motivo (creare grafici):http://www.pierotofy.it/pages/sorgenti/dettagli/18852-Line ...

Ultima modifica effettuata da Il_Bomba il 24/04/2011 alle 23:14
PM Quote
Avatar
Phi (Member)
Expert


Messaggi: 241
Iscritto: 30/12/2009

Segnala al moderatore
Postato alle 18:02
Giovedì, 28/04/2011
Se il tuo problema è solo questo ti allego i file della unit graph.
Non so se siano esattamente quelli attuali, ho scaricato il sorgente al tempo della versione 2.2.2 di FreePascal e ho apportato delle piccole modifiche. Ad ogni modo con il tuo programma funziona.
Allego anche la unit wingraph.


Phi ha allegato un file: graph.zip (183785 bytes)
Clicca qui per scaricare il file
PM Quote