2012-11-01 58 views
6

我想用MIT方案以圖形繪製功能。在方案的手冊中,有一個名爲「圖形」部分 - 報價:繪製圖形與MIT方案

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

如果您遇到過,請粘貼與MIT /計劃工作的最小工作代碼(KISS原則)幫我,並繪製一些東西。

回答

6

它看起來像this手冊包含每個獨立的功能的文件,但每一個功能的全員出動例子不出現任何文檔中存在網上。我能夠找到工作代碼的唯一方法是Google實際的函數名稱,並努力審查每個結果以獲取可能的代碼示例。

無論如何,以滿足你的問題,讓您瞭解這個庫的作品,這裏是示例代碼一個簡單的例子。

(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)) 

如果你需要更多的樣本,讓我知道,但是代碼和文檔,應該足以讓你去。

+0

謝謝! (枚舉 - 圖形類型)返回給我(#[圖形類型14 x])。它工作。好! – alinsoar

+0

我喜歡這個答案,但是請注意,在'let'塊中完成所有這些操作意味着您不會看到圖形打開,繪製和關閉。我更喜歡Alex Gian的回答 – Goodword

4

我只是想補充一點,麥克斯韋漢森(12年1月11日),給出的代碼雖然是正確的,沒有我的64位Linux系統上運行。
(編輯下面alinsoar的觀察) 這是因爲窗口正在讓利的範圍內封閉的,所以它的實際工作,但它發生得太快觀察。

試試這樣說:

(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

圖形設備的代碼是依賴於硬件的,因此不需要爲所有計算機工作。雖然MIT方案的目的不是要開發一個強大的圖形界面,而是嘗試一下racket的gui庫,它具有良好的圖形支持。對我來說,它在MIT-scheme上的thinkpad 64位工作。 – alinsoar

+0

在'(圖形關閉設備)'之後讓結束的範圍,並且與圖形的工作方式無關。 – alinsoar

0

有一點要注意的Mac OSX用戶的是,你需要安裝並啓動XQuartz或(enumerate-graphics-types)將永遠是空的。

0

我工作的一個繪圖工具對於Windows用戶source

它只是從「圖形」,在麻省理工學院的方案所提供的原語建立起來,但可以讓你繪製函數和向量場。