Как мне создать точечную карту высокой плотности? Я возился с некоторыми базовыми c алгоритмами распределения точек вокруг прямоугольника, например:
var createOrangeDots = function () {
for (var i = 0; i <=orangeNum; i++) {
context.beginPath();
var rand_x = Math.random(i) * horz_max;
var rand_y = Math.random(i) * vertical_max;
context.arc(rand_x, rand_y, radius, 1, 2*Math.PI);
context.fillStyle ="orange";
context.fill();
context.closePath();
}
}
... что создает ... У меня есть Также была помощь в поиске кода, который создает точки вокруг «цели»:
var createOrangeDotsCircle = function () {
for (var i = 0; i <= orangeCircleNum; i++) {
context.beginPath();
const dist = (Math.random() ** centripetal) * distFromCenter;
const angle = Math.random() * Math.PI * 2;
var rand_x = dist * Math.cos(angle) + centerOrange.x;
var rand_y = dist * Math.sin(angle) + centerOrange.y;
context.arc(rand_x, rand_y, radius, 1, 2 * Math.PI);
context.fillStyle ="orange";
context.fill();
context.closePath();
}
}
createOrangeDotsCircle();
... который производит ...
Но мне интересно, есть ли какой-нибудь код JS, который создает случайные формы точек с различной плотностью до такой степени, что он может фактически напоминать реальную карту сегрегации города? Примерно так:
... но с использованием только двух цветов и без фона карты (т.е. только точек).
Я знаю, что это сложно, так что просто ищите идеи / советы / указания здесь у более опытных программистов. Заранее благодарю за любую помощь.