I want to explore how the earth has characteristic weather patterns, prevailing winds which go in different directions at different latitudes. (I'm not rendering any land masses for this project, so the (considerable) effect of the continents on wind patterns isn't something I'll do).
I can create a simplified model of the Earth's atmospheric circulation by creating fields which impart vectors at different latitudes. The fields need to impart more energy at their centre and tail off at the edges: which Wikipedia and Grapher.app, tell me is a normal or Gaussian distribution.
Five of these fields, placed at the centre of the five main prevailing currents turn 6,000 randomly placed particles into a reasonable approximation of large-scale wind patterns. There are a bunch of complexities to deal with (for example, when a particle is travelling northwards and reaches the pole, I have to flip its longitude by 180° and invert the latitude vector) and I'm not showing particles on the "dark side" of the earth away from the camera. I still need to work on the display of the faster particles, but even so the effect is quite appealing.
Calculating and rendering 6000 particles is less CPU-intensive than putting 2000 random triangles on the screen for the other spheres. I can get 30fps just fine: rendering to screen is much more expensive than maths, even "hard" maths like trigonometry and square roots.