# [racket] exercise 6.6.3 htdp

 From: frank weytjens (fweytjens.android at gmail.com) Date: Wed Nov 30 07:11:10 EST 2011 Previous message: [racket] Abstracting over redex language via macro causes scope issues Next message: [racket] exercise 6.6.3 htdp Messages sorted by: [date] [thread] [subject] [author]

```(define H 300)
(define L 300)
(define-struct cirkel (posn number color))
(define cirkel1 (make-cirkel(make-posn (/ H 2) (/ L 2)) (/ L 4) 'red))
;; fun-for-circle: circle --> ?
;;(define (fun-for-circle circle) ...)
;;(define (fun-for-circle c)
;;(draw-solid-disk (cirkel-posn c)(cirkel-number c) (cirkel-color c)))
(define (square x)(* x x))
(define (distance x1 x2) (- x1 x2))
(define (x-cirkel cirkel) (posn-x (cirkel-posn cirkel)))
(define (y-cirkel cirkel) (posn-y (cirkel-posn cirkel)))
(define (y-pos pos) (posn-y pos))
(define (x-pos pos) (posn-x pos))
(define (distance-to-center C pos)
(sqrt (+(square(distance (x-cirkel C) (x-pos pos)))(square (distance
(y-cirkel C)(y-pos pos))))))

(define (in-circle? C pos)
(> (cirkel-number C) (distance-to-center C pos)))

(in-circle? cirkel1 (make-posn 150 224))  --> true
(in-circle? cirkel1 (make-posn 150 225))  --> false

I'm not happy with my in-circle? function
to many define's  needed
nested structures is the main cause why this simple program becomes
complicated
but how can one solve this problem more elegant?

thx

Frank
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20111130/10d8cdb8/attachment.html>
```

 Posted on the users mailing list. Previous message: [racket] Abstracting over redex language via macro causes scope issues Next message: [racket] exercise 6.6.3 htdp Messages sorted by: [date] [thread] [subject] [author]