Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (require picturing-programs)
- (define (limit n)
- (real->int
- (max 0
- (min 255 n))))
- (define (distance x1 y1 x2 y2)
- (sqrt (+ (sqr (- x1 x2))
- (sqr (- y1 y2)))))
- (define center-x 250)
- (define center-y 200)
- (define (amount-of-color x y k)
- (* k (distance x y center-x center-y)))
- (define (red-f x y)
- 255)
- (define (green-f x y k)
- (limit (amount-of-color x y k)))
- (define (blue-f x y k)
- (limit (amount-of-color x y k)))
- (define (make-pixel x y k)
- (make-color (red-f x y)
- (green-f x y k)
- (blue-f x y k)))
- (define (make-gradient model)
- (build-image/extra 500 400 make-pixel model))
- (define grad (make-gradient 2))
- (define (mouse-handler model x y event)
- (* 1/150 (distance x y center-x center-y)))
- (define (draw-handler model)
- (crop/align "center" "center" 500 400
- (overlay (scale (max model 0.001) grad)
- (rectangle 500 400 "solid" "white"))))
- (big-bang 1
- (on-mouse mouse-handler)
- (on-draw draw-handler))
Add Comment
Please, Sign In to add comment