If I want to create a high quality figure to illustrate a scientific concept or experiment I usually use
tikz together with
pstricks. However this is for static content. Both tools are extremely powerfull for it's purpose and give high quality results. Furhtermore there is a large database of examples, very good documentation and a huge, active user community around those projects.
What would be the "equivalent" of this for creating physics animations or simulations?
I want to start with 2d and 3d animations and simulations like found on the following pages (but possibly looking a bit more high quality):
and then proceed to more complex things when I get how to use it.
So what would you recommend for this task and why? I have little bit background in python so I would prefer this but if there is a "killer tool" for this, it would be ok to learn a new language from scratch. Here are the requirements:
- free and open source (FOSS) and should run on linux
- it should be a good interface to recreate the examples from the three cited web sites above (with the potential to make even more complex things)
- like for tikz in the case of static content there should be good documentation and a large active user base
- I need something for 2d and also for 3d
Concerning the difference between animations and simulations, I think that there should be no difference because for a simulation I have to solve a differential equation first (using another library, for example numpy/scipy) and then animating the data. So one could reduce the term "simulation" to "animation" for this question (or did I overlook something?).
Sure I googled for this, but the problem was that got I a very long list of packages and I am not sure where to start. For the static content it was easy as described above, but here I don't see, what would be worth to learn in detail.
Since I have a little bit python experience at first I narrowd the search down to this language.
The only tool I found made for this purpose is vpython, which I tried. However the results didn't look very professional compared to what I was used to get for static content with
Then I found some nice plotting tools like
visviswhich possibly could be used to make animations but I am not sure if this is a good way since they seem to be more suited for static plotting
The next category I found were game engines like
python-ogre. I am not sure if it is a good idea to use a complete gaming environment like this for physics animations.
Another possibility would be to use just the OpenGl bindings for python directly: pyopengl
Then there is
Finally there seems to be much specalized tools like
However the most physics animations or simulations I can find on the web are java applets. Most of them closed source so I didn't find out which java libraries were used for them. The only one was
ejs which has a graphical user interface but which looks a bit old fashioned.
Finally I considered using
html5 for this.