woonie

Sidequest 6.1

Aug 30th, 2011
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.15 KB | None | 0 0
  1. (load "hi-graph-sidequests.rkt")
  2.  
  3. (define (show-connected-koch window level number-of-points)
  4.   (if (= level 0)
  5.       unit-line
  6.       (lambda (t)
  7.         (cond ((< t 1/4) ((show-connected-koch window (- level 1) number-of-points)
  8.                           (* t 4)))
  9.               ((< t 2/4) (((rotate-around-origin (/ pi 3))
  10.                            (show-connected-koch window (- level 1) number-of-points))
  11.                           (- (* t 4) 1)))
  12.               ((< t 3/4) (((rotate-around-origin (/ -pi 3))
  13.                            (show-connected-koch window (- level 1) number-of-points))
  14.                           (- (* t 4) 2)))
  15.               (else ((show-connected-koch window (- level 1) number-of-points)
  16.                      (- (* t 4) 3)))))))
  17. (define (rotate-around-origin theta)
  18.   (let ((cth (cos theta))
  19.         (sth (sin theta)))
  20.     (lambda (curve)
  21.       (lambda (t)
  22.         (let ((ct (curve t)))
  23.           (let ((x (x-of ct))
  24.                 (y (y-of ct)))
  25.             (make-point
  26.              (- (* cth x) (* sth y))
  27.              (+ (* sth x) (* cth y)))))))))
  28.  
  29. ; ((draw-connected g3 4000) (show-connected-koch g3 5 4000))
Advertisement
Add Comment
Please, Sign In to add comment