These particles are moving at constant velocity.

This simulation involves no "forces." The particles have values for velocity that never changes, and yet they curve and bob and weave in mysterious ways. What's going on?

Instead of changing the particles, space itself is changing around them.

The white dots are "nodes." With one node onscreen, the coordinate system itself changes with position to point towards it. The coordinate system has one "principal" or "radial" axis (in an arbitrary sense; I don't mean to refer to any existing concept called a "principal axis") that points towards the node, and another "orthogonal" axis that is perpendicular to the principal axis. Each particle is spawned with a set velocity that has a principal component and an orthogonal component. These never change, but as the particle moves around the node, the direction of the axes will change so that the principal axis is always pointing at the node. This causes a spiraling or orbiting behavior. With multiple nodes, the scene is a little bit more complicated, but the axes take a kind of weighted average of nodes based on their nearness and strength (a random parameter) to determine in which direction the principal axis should point. This weighted average uses the square of the distance to each node, but that was an arbitrary choice on my part. Technically, from a static reference frame (such as the screen), the particles' velocities are definitely changing, but "these particles are doing normal things" is a less interesting title.

You can use the field visualization mode to see a static representation of the nodes' influence. The redness of each pixel is how horizontal the principal axis is, and the blueness of each pixel is how vertical the principal axis is. This clearly reveals that every node also generates a kind of anti-node or inflection point, and if you pay attention, you can see them in the particle simulation, too. Weird.

I just put this project together off the top of my head, so I'm sure there are more interesting or well-known things you can do with this. The behavior in some cases seems nonphysical, but I wonder whether you could construct like a potential field or something to mimic this interaction using forces.

I might put together a game with elements of this concept. If you look at the philosophy of Archimedes and the ancients before the Copernican revolution, their conception of physics was kind of similar to this, with objects moving either towards the center of the Earth or perpendicular to that. At least, that how I'm understanding it. A game with this kind of ancient alternative physics system could be cool, if it actually worked.

Controls:
n - Reset/Re-randomize the nodes
p - Reset/Re-randomize the particles
] - Increase the number of particles
[ - Decrease the number of particles
. - Increase the number of nodes
, - Decrease the number of nodes
+ - Increase the weight on the principal axis (make the particles more red)
- - Decrease the weight on the principal axis (make the particles more blue)
spacebar - Switch between particles mode and field visualization mode 

Leave a comment

Log in with itch.io to leave a comment.