2012-11-01 87 views
6

Tôi muốn vẽ đồ thị một hàm bằng cách sử dụng lược đồ MIT. Trong cuốn hướng dẫn của chương trình, có một phần gọi là "Đồ họa" - trích dẫn:vẽ đồ họa với sơ đồ MIT

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

Nếu bạn có kinh nghiệm này, hãy giúp tôi bằng cách dán một mã làm việc tối thiểu (nguyên tắc KISS) làm việc với MIT/chương trình, và vẽ đồ gì đó.

Trả lời

6

Có vẻ như this hướng dẫn chứa tài liệu về từng chức năng riêng lẻ, nhưng các ví dụ đầy đủ về mọi chức năng dường như không tồn tại trong bất kỳ tài liệu trực tuyến nào. Cách duy nhất tôi có thể tìm thấy mã làm việc là cho Google tên hàm thực tế và xem xét một cách khắc nghiệt từng kết quả cho các mẫu mã có thể có.

Dù sao, để thỏa mãn câu hỏi của bạn và cung cấp cho bạn một ví dụ đơn giản về cách hoạt động của thư viện này, đây là mã mẫu.

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

Nếu bạn cần thêm mẫu, hãy cho tôi biết, nhưng mã và tài liệu sẽ đủ để giúp bạn tiếp tục.

+0

Cảm ơn bạn! (enumerate-graphics-types) trả về cho tôi (# [đồ họa kiểu 14 x]). Va no đa hoạt động. TỐT! – alinsoar

+0

Tôi thích câu trả lời này, nhưng lưu ý rằng làm tất cả điều này trong một khối 'let' có nghĩa là bạn sẽ không thực sự thấy đồ họa mở, vẽ và đóng. Tôi thích câu trả lời của Alex Gian – Goodword

4

Tôi chỉ muốn thêm rằng mã do Maxwell Hansen (1/11/12) đưa ra, mặc dù chính xác, không hoạt động trên hệ thống Linux 64 bit của tôi.
(Đã chỉnh sửa sau khi quan sát của alinsoar) Điều này là do cửa sổ đang bị đóng trong phạm vi cho phép, vì vậy nó thực sự hoạt động nhưng nó diễn ra quá nhanh để quan sát.

Hãy thử nó như thế này:

(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

mã của thiết bị đồ họa phụ thuộc vào phần cứng, do đó không giả vờ làm việc cho tất cả các máy tính. Trong khi mục đích của chương trình MIT không phải là để phát triển một giao diện đồ họa mạnh mẽ, hãy thử thư viện gui thay vì vợt, có hỗ trợ đồ họa tốt. cho tôi nó hoạt động trong chương trình MIT trên thinkpad, 64 bit. – alinsoar

+0

phạm vi cho phép kết thúc sau '(thiết bị đóng đồ họa)' và không liên quan gì đến cách hoạt động của đồ họa. – alinsoar

0

Một điều cần lưu ý cho người dùng Mac OSX là bạn cần phải cài đặt và bắt đầu XQuartz hoặc (enumerate-graphics-types) sẽ luôn trống.

0

tôi đang làm việc trên một tiện ích âm mưu cho các cửa sổ người dùng source

của nó chỉ được xây dựng lên từ nguyên thủy được cung cấp bởi "đồ họa" trong mit-kế hoạch nhưng cho phép bạn vẽ các chức năng và các lĩnh vực vector.

Các vấn đề liên quan