#lang racket (require (planet wcy/mpost-wrapper)) (require (planet wcy/mpost-wrapper/label)) (provide main) (define (main) (let* ((p (path (point 0 0) '-- (point '1cm 0))) (A (point '1cm '-1cm)) (alpha 90)) (drawarrow p #:withpen (scale '1bp 'pencircle)) (draw A #:withpen (scale '4bp 'pencircle)) (label-ulft (btex "$A$") A) (draw (point 0 0) #:withpen (scale '4bp 'pencircle)) (label-bot (btex "$O$") (point 0 0)) (let loop ((i 0)) (if (< i 10) (begin (drawarrow (shift (op* -1 (op/ (op* i A) 10)) p) #:withcolor 'red) (drawarrow (rotate (op/ (op* i alpha) 10) (shift (op* -1 A) p)) #:withcolor 'green) (drawarrow (shift (op/ (op* i A) 10) (rotate alpha (shift (op* -1 A) p))) #:withcolor 'blue) (loop (+ 1 i))) (void)))))