Что то в таком духе? Код не проверял, это просто концепция. Она вообще может давать с преобладанем к максимуму, но по-моему тяготение к максимуму вам как раз и нужно (судя по иллюстрации )

Код AS3:
function gravityGenerator( max:int, min:int, grav:int ):Number
{
var rand:Number = min + ( Math.random() * ( max - min ) ) + 1;
while( grav > 0 )
{
if ( rand >= max / grav ) rand = gravityGenerator( max, min, grav-- );
}
return rand;
}