<div dir="ltr"><div>(define H 300)</div><div>(define L 300)</div><div>(define-struct cirkel (posn number color))</div><div>(define cirkel1 (make-cirkel(make-posn (/ H 2) (/ L 2)) (/ L 4) &#39;red))</div><div>;; fun-for-circle: circle --&gt; ?</div>
<div>;;(define (fun-for-circle circle) ...) </div><div>;;(define (fun-for-circle c)</div><div>;;(draw-solid-disk (cirkel-posn c)(cirkel-number c) (cirkel-color c)))</div><div>(define (square x)(* x x))</div><div>(define (distance x1 x2) (- x1 x2))</div>
<div>(define (x-cirkel cirkel) (posn-x (cirkel-posn cirkel)))</div><div>(define (y-cirkel cirkel) (posn-y (cirkel-posn cirkel)))</div><div>(define (y-pos pos) (posn-y pos)) </div><div>(define (x-pos pos) (posn-x pos))</div>
<div>(define (distance-to-center C pos)</div><div> (sqrt (+(square(distance (x-cirkel C) (x-pos pos)))(square (distance (y-cirkel C)(y-pos pos))))))</div><div><br></div><div>(define (in-circle? C pos)</div><div>  (&gt; (cirkel-number C) (distance-to-center C pos)))</div>
<div><br></div><div> (in-circle? cirkel1 (make-posn 150 224))  --&gt; true</div><div> (in-circle? cirkel1 (make-posn 150 225))  --&gt; false</div><div><br></div><div>I&#39;m not happy with my in-circle? function</div><div>
to many define&#39;s  needed</div><div>nested structures is the main cause why this simple program becomes complicated</div><div>but how can one solve this problem more elegant?</div><div><br></div><div><br></div><div>thx</div>
<div><br></div><div><br></div><div>Frank</div>
</div>