Не уверен, что это именно то, что вы хотите, но это должно дать вам некоторое распределение с большим количеством точек на объем в центре сферы:
Вы можете использовать эту простую формулу, чтобы найти случайную равномерно распределенную точку на поверхностях сфер: Генерация случайной выборки точек, распределенных по поверхности единичной сферы
Когда вы берете эту точку и перемещаете ее внутрь, умножая ее на случайное значение и деля на r:
(x,y,z) *= randomValue
где (x, y, z) - вектор, указывающий на случайную точку на поверхности, а randomValue - это некоторое случайное значение между 0 и 1.
Это дает равномерное распределение по r, но поскольку поверхность становится меньше с меньшим радиусом, ваши точки будут сосредоточены в середине.
Если вы хотите дополнительно настроить распределение, вы можете добавить некоторая сила для случайного значения:
(x,y,z) *= pow(randomValue, exponent)
, где чем выше показатель степени, тем больше очков вы получите в середине сферы .