#lang racket (require (planet wcy/mpost-wrapper)) (provide main) (define (main) (define (degrade q p M N) (let ((a (length p)) (b (length q))) (for ((i (in-range 0 (+ 1 M)))) (draw (apply op.. `(,(mediation (/ i M) (point-of 0 p) (point-of 0 q)) ,@(for/list ((j (in-range 0 (+ 1 N)))) (mediation (/ i M ) (point-of (op* a (/ j N)) p) (point-of (op* b (/ j N)) q))))))))) (let* ((u '1cm)) (degrade (op.. (point (op* -0.1 u) (op* -0.1 u)) (point (op* 0.1 u) (op* 0.1 u)) 'cycle) (op-- (point (op* -1 u) (op* -1 u)) (point (op* 1 u) (op* -1 u)) (point (op* 1 u) (op* 1 u)) (point (op* -1 u) (op* 1 u)) 'cycle) 10 100)))