2012-11-01 11 views
6

Desidero stampare graficamente una funzione utilizzando lo schema MIT. Nel manuale di schema, c'è una sezione chiamata "Grafica" - citazione:disegnare la grafica con lo schema MIT

MIT Scheme has a simple two-dimensional line-graphics interface that is 
suitable for many graphics application. 

Se si è verificato questo, ti prego, aiutami incollando un codice di lavoro minima (principio KISS) che funziona con il MIT/schema, e che traccia qualcosa.

risposta

6

Sembra che il manuale this contenga la documentazione di ogni singola funzione, ma gli esempi completi di ogni funzione non sembrano esistere in alcuna documentazione online. L'unico modo in cui ero in grado di trovare codice funzionante era per Google i nomi delle funzioni effettive e rivedere ardentemente ogni risultato per possibili esempi di codice.

Ad ogni modo, per soddisfare la tua domanda e darti un semplice esempio di come funziona questa libreria, ecco un esempio di codice.

(let ((device (make-graphics-device (car (enumerate-graphics-types)))) 
      (x-start 0) 
      (y-start 0) 
      (x-end 5) 
      (y-end 5)) 
     (graphics-draw-line device x-start y-start x-end y-end) 
     (graphics-close device)) 

Se avete bisogno di più campioni, me lo faccia sapere, ma il codice e la documentazione dovrebbe essere sufficiente a farti andare.

+0

Grazie! (enumerate-graphics-types) restituito per me (# [graphics-type 14 x]). E ha funzionato. BENE ! – alinsoar

+0

Mi piace questa risposta, ma nota che fare tutto questo in un blocco 'let' significa che in realtà non vedrai la grafica aprire, disegnare e chiudere. Preferisco la risposta di Alex Gian – Goodword

4

Vorrei solo aggiungere che il codice fornito da Maxwell Hansen (1/11/12), sebbene corretto, non funziona sul mio sistema Linux a 64 bit.
(Modificato in seguito all'osservazione di alinsoar) Questo perché la finestra viene chiusa nell'ambito del permesso, quindi funziona effettivamente ma accade troppo velocemente per osservare.

Prova in questo modo:

(define device (make-graphics-device (car (enumerate-graphics-types)))) 
(graphics-draw-line device 0 0 5 5) 
;; when you're good and ready 
(graphics-close device) 
+0

il codice del dispositivo grafico dipende dall'hardware, quindi nessuna pretesa di funzionare per tutti i computer. Mentre lo scopo del programma MIT non è quello di sviluppare una forte interfaccia grafica, provare invece la libreria GUI di racket, che ha un buon supporto grafico. per me funziona in MIT-scheme su thinkpad, 64 bit. – alinsoar

+0

lo scope con let finisce dopo '(graphics-close device)', e non ha nulla a che fare con il funzionamento della grafica. – alinsoar

0

Una cosa da notare per gli utenti di Mac OSX è che è necessario installare e avviare XQuartz o (enumerate-graphics-types) sarà sempre vuoto.

0

Sto lavorando su un programma di utilità tramando per gli utenti di Windows source

suo solo costruite dalle primitive forniti da "grafica" in mit-schema, ma consente di rappresentare graficamente le funzioni e campi vettoriali.