Noise Planets
avinayak.github.io
avinayak.github.io
This misses the crucial point of the technique described in the linked Stackoverflow answer: that r cannot be a uniformly distributed random value if you want a uniform distribution of points in a circle. Rather you need
r = R * sqrt(random())
where R is the radius of the circle and random() gives a uniform distribution of random numbers between 0 and 1. do {
x = random(-R, R)
y = random(-R, R)
} while (x*x + y*y > R*R)http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.1...
Setting the particle speed to more than about 0.5 (on line 46) results in "aberrations". The dynamics are quite interesting and I'm not sure exactly what's going on, but I think wetmore's answer is correct—when the steps are small enough, everything remains as smooth as the underlying scalar field produced by Perlin noise.
The variable "m" in draw() should be changed to "points".
The variable "h" in draw() should be changed to "t".