Я использую мит-схему и ее графическую библиотеку. Вы создаете графическое устройство с (define device (make-graphics-device (car (enumerate-graphics-types))))
, которое открывает окно для создания графики. (graphics-operation device 'set-foreground-color "black")
делает линии черными. Функция (graphics-operation device 'fill-polygon #(0 1 0 0 1 0 1 1))
делает черный квадрат, каждые два числа в аргументе #() является точкой в форме. Если я использую следующее:Scheme graphics
(define (print-cell dev x y)
(define off .01)
(define x+ (+ x off))
(define x- (- x off))
(define y+ (+ y off))
(define y- (- y off))
(graphics-operation dev 'fill-polygon #(x+ y+ x+ y- x- y+ x- y-)))
Я получаю ошибку The object x+ passed to integer->flownum is not the correct type
Я не понимаю, это потому, что я могу использовать flonums как арг в #() части функции.
Я хочу print-cell
взять набор координат, а затем нарисуйте маленький квадрат с центром в точках таким образом, что (print-cell device .5 .5)
превращается в (graphics-operation device 'fill-polygon #(.51 .51 .51 .49 .49 .49 .49 .51))