From what I can see, vis-network does not currently support Brownian motion (randomness/noise) for graph nodes. The physics engine appears to be a closed system, making it difficult to implement this feature externally.
While it's possible to add superficial randomness by manually updating node positions, this approach ignores particle interactions and causes nodes to overlap. It's also physically irrelevant, as the motion doesn't respect the constraints and forces defined in the system.
Brownian motion acts as a temperature-like parameter. It introduces controlled disorder that:
- Prevents the system from getting stuck in fake local minima.
- Allows the network to explore configuration space and access lower-energy states.
- Results in a more organized and aesthetically pleasing visual layout over time.
- It keeps the graph constantly in motion, which makes it feel more alive and dynamic.
It would be great to have an official option (e.g., physics.brownianMotion: true or physics.noiseIntensity: 0.5) that integrates random displacement directly into the physics iteration.
From what I can see, vis-network does not currently support Brownian motion (randomness/noise) for graph nodes. The physics engine appears to be a closed system, making it difficult to implement this feature externally.
While it's possible to add superficial randomness by manually updating node positions, this approach ignores particle interactions and causes nodes to overlap. It's also physically irrelevant, as the motion doesn't respect the constraints and forces defined in the system.
Brownian motion acts as a temperature-like parameter. It introduces controlled disorder that:
It would be great to have an official option (e.g.,
physics.brownianMotion: trueorphysics.noiseIntensity: 0.5) that integrates random displacement directly into the physics iteration.