Your chance to be Genius du Jour:

If I construct 2 concentric circles, one being half the radius of the larger, 
then simple math shows that the smaller circle has an area ¼ the area of the 
larger.
Now if I generate a random point within the radius of the larger circle, I 
should expect that the probability of it landing in the smaller circle to be ¼.
But, I must be doing something wrong because I get ½ !

Here is my script:

on mouseDown

        getStuff

end mouseDown


local tR, tTheta, tX0, tY0, tX1, tY1, tTotCount, tL, tLongCount

on getStuff

        put item 1 of the loc of grc OuterCircle into tx0

        put item 2 of the loc of grc OuterCircle into tY0

        put "" into tTotCount

        put "" into tLongCount

        emptyFlds

end getStuff


on mouseUp

        lock screen

        repeat 1000

                put random(200) into tR -- 200 is half the width of the larger 
circle

                if tR > 1 then

                        ## put random(2*pi) into tTheta1

                        get random(360)

                        put it*pi/180 into tTheta1

                        put tR*cos(tTheta1) into tX1
                        put tR*sin(tTheta1) into tY1

                        set the loc of grc Ptgrc to tX0 + tX1, tY0 - tY1 --- 
grc Ptgrc is a 2 pixle oval

                        if intersect(grc Ptgrc, grc InnerCircle, "opaque 
Pixels") then add 1 to tLongCount

                        add 1 to tTotCount

                end if

        end repeat
        put tTotCount into fld "totcountFld"

        put tLongCount into fld “LongCountFld"

        put tLongCount/tTotCount into fld "RatioFld"

        unlock screen

end mouseUp


Apparently, this does not generate a random point within the larger circle! Can 
someone please tell me what’s wrong here?

Thanks,
Roger
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to