Guest User

Untitled

a guest
Nov 18th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. (require picturing-programs)
  2.  
  3. (define (limit n)
  4. (real->int
  5. (max 0
  6. (min 255 n))))
  7.  
  8. (define (distance x1 y1 x2 y2)
  9. (sqrt (+ (sqr (- x1 x2))
  10. (sqr (- y1 y2)))))
  11.  
  12. (define center-x 250)
  13. (define center-y 200)
  14. (define (amount-of-color x y k)
  15. (* k (distance x y center-x center-y)))
  16. (define (red-f x y)
  17. 255)
  18.  
  19. (define (green-f x y k)
  20. (limit (amount-of-color x y k)))
  21.  
  22. (define (blue-f x y k)
  23. (limit (amount-of-color x y k)))
  24.  
  25. (define (make-pixel x y k)
  26. (make-color (red-f x y)
  27. (green-f x y k)
  28. (blue-f x y k)))
  29.  
  30. (define (make-gradient model)
  31. (build-image/extra 500 400 make-pixel model))
  32.  
  33. (define grad (make-gradient 2))
  34.  
  35. (define (mouse-handler model x y event)
  36. (* 1/150 (distance x y center-x center-y)))
  37.  
  38. (define (draw-handler model)
  39. (crop/align "center" "center" 500 400
  40. (overlay (scale (max model 0.001) grad)
  41. (rectangle 500 400 "solid" "white"))))
  42.  
  43. (big-bang 1
  44. (on-mouse mouse-handler)
  45. (on-draw draw-handler))
Add Comment
Please, Sign In to add comment