Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (load "hi-graph-sidequests.rkt")
- (define (show-connected-koch window level number-of-points)
- (if (= level 0)
- unit-line
- (lambda (t)
- (cond ((< t 1/4) ((show-connected-koch window (- level 1) number-of-points)
- (* t 4)))
- ((< t 2/4) (((rotate-around-origin (/ pi 3))
- (show-connected-koch window (- level 1) number-of-points))
- (- (* t 4) 1)))
- ((< t 3/4) (((rotate-around-origin (/ -pi 3))
- (show-connected-koch window (- level 1) number-of-points))
- (- (* t 4) 2)))
- (else ((show-connected-koch window (- level 1) number-of-points)
- (- (* t 4) 3)))))))
- (define (rotate-around-origin theta)
- (let ((cth (cos theta))
- (sth (sin theta)))
- (lambda (curve)
- (lambda (t)
- (let ((ct (curve t)))
- (let ((x (x-of ct))
- (y (y-of ct)))
- (make-point
- (- (* cth x) (* sth y))
- (+ (* sth x) (* cth y)))))))))
- ; ((draw-connected g3 4000) (show-connected-koch g3 5 4000))
Advertisement
Add Comment
Please, Sign In to add comment