examples/ex-80.rkt
#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)))))