Weighted Random Number
Roger Guay
irog at mac.com
Mon Mar 4 15:31:12 EST 2013
Hi Walt,
This works perfectly! I'll add it to the other methods I've received for evaluation.
Thanks and cheers,
Roger
On Mar 4, 2013, at 10:06 AM, "Sumner, Walt" <WSUMNER at dom.wustl.edu> wrote:
> This seems to work:
>
> Make a stack with a button having this script, then click the button. It will bounce around in a normal distribution in H and V coordinates.
>
>
> on mouseUp
>
> local tSD,tMean,tPoint,tStartPoint
>
> put the loc of me into tStartPoint
>
> put the width of this window div 6 & comma & the height of this window div 6 into tSD
>
> put the width of this window div 2 & comma & the height of this window div 2 into tMean
>
> put BoxMullerDist(tMean,tSD) into tPoint
>
> set the loc of me to tPoint
>
> wait 1 second
>
> set the loc of me to tStartPoint
>
> end mouseUp
>
>
> function BoxMullerDist pMean,pStdDev
>
> local tU,tV,tX,tY
>
> put random(100)/100 into tU
>
> put random(100)/100 into tV
>
> put sqrt(-2*ln(tU))*cos(2*pi*tV) into tX
>
> put sqrt(-2*ln(tU))*sin(2*pi*tV) into tY
>
> return item 1 of pMean + tX*item 1 of pStdDev & comma & item 2 of pMean + tY*item 2 of pStdDev
>
> end BoxMullerDist
>
> You can tweak the range by setting tSD to div 4 to hit the edges more often. You can tweak the center point by shifting the mean, but you will go off the edges sometimes if you shift too far.
>
> Ref: http://en.wikipedia.org/wiki/Normal_distribution#Generating_values_from_normal_distribution
>
> Walt Sumner
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list