#lang racket (require (planet wcy/mpost-wrapper)) (provide main) (define (arc O A B rou) (let ((alpha (op-angle (op- A O))) (beta (op-angle (op- B O)))) (path (op+ O (polar rou alpha)) (dir-spec (dir (op+ alpha 90))) ".." (op+ O (polar rou beta )) (dir-spec (dir (op+ beta 90)))))) (define (draw-angle A B C n) (let ((rou '4.5mm)) (if (> n 0) (begin (draw (arc A B C (op+ rou (op* n '0.5mm)))) (draw-angle A B C (- n 1))) (void)))) (define (main) (let ((A (point 0 0)) (B (point '3cm 0)) (C (point '1cm '2cm))) (draw (op-- A B C 'cycle)) (draw-angle A B C 1) (draw-angle B C A 2) (draw-angle C A B 3)))