Как указать рамку в качестве аргумента для DrRacket, когда я рисую изображение с помощью художника? (2-е издание SICP)

#racket #sicp

Вопрос:

Я читаю 2-е издание SICP.

Художник представлен как процедура, которая, учитывая рамку в качестве аргумента, рисует конкретное изображение, сдвинутое и масштабированное в соответствии с рамкой.

Я использую DrRacket (язык изображений SICP).

Как указать рамку в качестве аргумента для DrRacket, когда я рисую изображение с помощью художника?

Ответ №1:

Вот пример

 #lang racket
(require sicp-pict)
(paint einstein)

(paint
 (λ (f)
   (einstein (frame (vect 0. 0.) (vect 1. 0.) (vect 0. 1.)))))

(paint
 (λ (f)
   (einstein (frame (vect 0.5 0.5) (vect 0.5 0.) (vect 0. 0.25)))))
 

Если вы хотите, чтобы все кровавые детали фактического представления использовались:

https://github.com/sicp-lang/sicp/blob/master/sicp-pict/main.rkt

Комментарии:

1. соегаард, большое вам спасибо за ваш ответ!