This is the derived version of the Brownian motion. All particles are constrained to the center position, (0,0). You can set parameters of the number of particles, movement velocity and constraining strenth. In this simulator, the positions are calculated recurrently by this function.
Positiont+1(x,y)=v*Random(x,y)+c*{-Positiont+1(x,y)}+Positiont(x,y)
Random(x,y) is the random vector of -1<x<1 and -1<y<1. {-Positiont+1(x,y)} is the vector to the center (0,0) from the position of each particles, Position(x,y). The value v is the parameter of movement velocity.