Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The tweaks that SW included are pretty common to similar simulations:

1) the attraction-repulsion pair is typical of "boids" simulations, and also features in the Lennard-Jones forces acting in atoms (albeit with different powers on the decay rate);

2) making the force drop to zero for particle-particle distances approaching zero is effectively treating each particle as a "cloud" and not a singular point, it's called "regularization" in vortex particle methods and "Plummer softening" in gravitational methods; it's primary benefit is with SIMD and parallelization by removing the need for a (i != j) conditional; and

3) slow contraction (multiplying each particles' position by (1-epsilon)) is a technique used by generative digital artists to ensure that visual activity does not stray too far from a directed point.

The unique component of this simulation is the (computationally-efficient) dependence of a very small number (N=2 here) of neighbor particles. The typical O(N^2) that limits real-time simulations to 10k-50k particles becomes O(N).



Now that it's not late at night I can see a mistake: the primary benefit of regularization in nbody methods (self-influence being zero and not infinity) is stabilization of the dynamics. A close pass will not send one or both particles shooting out into the void with excessive energy.

The second advantage is removing the conditional in the inner loop.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: