Недорогой метод: создайте некоторый вид лежащего в основе повторяющегося шаблона (например, сетку), а затем возмущайте местоположения.Это придаст вид случайности с некоторой регулярностью:
Псевдокод ahoy:
for(x=0; x<max; x+=step) {
for(y=0; y<max; y+=step) {
location = x*step+random(randsize), y*step+random(randsize);
}
}
Поэкспериментируйте с размером шага и randsize, пока он не будет выглядеть хорошо для вас.
Примечаниеэто не исключает совпадений;чтобы сделать это, добавьте случайное количество между соседними x, или посмотрите на что-то вроде графа случайных точек Вороного, или сгенерируйте ряд случайных точек и удалите перекрытия, или ...