Picture Language
Painter

;; rate倍に縮小してframeを中心に移動する
; (後でまともにする)
(define (reduction-center rate painter)
(let ((origin (/ (- 1.0 rate) 2)))
(transform-painter painter
(make-vect origin origin)
(make-vect (+ origin rate) origin)
(make-vect origin (+ origin rate)))))
(below (beside (reduction-center 0.8 outline) diagonal)
(beside diamond wave))
Corner-split

(corner-split wave 4)
Square-limit

(square-limit wave 4)
Ruby-GDでつくってみたけれど, Gauche-GDで作り直したい
おまけ
;Gauche-GDにて作成。関数名が適当なのは気にしない
(define aho (lambda (x) (corner-split x 3)))
(define aho1 (lambda (x) (rotate90 (corner-split x 3))))
(define aho2 (lambda (x) (rotate180 (corner-split x 3))))
(define aho3 (lambda (x) (rotate270 (corner-split x 3))))
(define hoge (square-of-four aho1 aho2 aho aho3))
(hoge hoshi)