If anyone is looking for a fun exercise to flex their #Python #coding fingers…

Using just gravitational attraction between bodies, you can create your own 2D solar system with as many stars and planets as you want. Here’s a binary star system with some relatively stable planets

Here’s the article, including a detailed step-by-step tutorial, if you want to read more: **Simulating Orbiting Planets in a Solar System Using Python**

#Python #simulation #animation

…and there’s also a 3D version *(next post)*

@s_gruppetta That's very cool. Thanks for posting this!

@martinpeck both projects were fun to write (both the code itself and the articles!)

@martinpeck `turtle`

is a fun module to use, beyond the basic *draw a few squares* type of tutorials you find.

I use it a lot for teaching and I try to push it to its limits and use it to teach more advanced topics, too

*real-world* 3D plotting I’ve needed in the past was static. This is dynamic 3D plotting which, arguably, is less common (although of course it’s useful for 4D data!)

@s_gruppetta this is really awesome! Given that it's for learning the coding side, I won't mark you down for using explicit integration 😜.

It's amazing how dynamic visualization can really solidify complex topics. Even when I've done iterative static computation in the past, dynamically-updating matplotlib plots really helped give me more intuition about the problem I was trying to solve.

@mattkram Yes, I find that I need to focus either on the coding aspect or on the science aspect, but you can’t really do both–the article is already long as it is!

Agreed, in *real-world* cases, the dynamic aspect adds an extra dimension which can help convey the results, in some cases, of course!

Stephen Gruppetta@s_gruppetta@qoto.org## 3D Solar System Using Matplotlib

The 3D version uses #matplotlib for the animation

Here’s the article:

Simulating a 3D Solar System In Python Using Matplotlib#python #animation #simulation #planets #matplotlib