Я следую учебному пособию по quadtree из The Coding Train (YT), и я получил работу с quadtree и рисование! Моя проблема заключается в том, что точки при использовании Math.random () * canvas.width и Math.random () * canvas.height для создания случайной точки на холсте не дают мне случайный образец точек, это фрактал (как треугольник Серпинского).
Я посмотрел игру с хаосом (спасибо Numberphile) и понял, что Math.random () не работает. Вот мой код, который генерирует очки.
for(let i=0; i<100000; i++){
var rx = Math.random()*canvas.width;
var ry = Math.random()*canvas.height;
let p = new Point(rx, ry, 2.5, i);
qtree.insert(p);
}
Если кто-нибудь знает объяснение, которое могло бы помочь, я неправильно использую Math.random ()? Есть ли лучший способ получить случайную точку внутри квадрата?
EDIT:
Это jsFiddle:
https://jsfiddle.net/muteman30/5b8mpfsc/5/