@TheCedarPrince , @dlakelan , @helgee thanks!
The packages i’ve used were DynamicalSystems.jl, DynamicalBilliards.jl, InteractiveDynamics.jl and Makie.jl (and also a keyword argument from OrdinaryDiffEq.jl). Nothing else. I did the composition in PowerPoint as well as some minor animations like moving text or enclosing something in rectangles.
I didn’t use any audio tools. I bought a backing audio track online from the 3b1b library and put it as background. For the actual recording, I recorded myself using OBS, while playing the powerpoint animations (in fact, when slides change you will be able to hear a “click” as I was pressing the arrow in the keypad for next slide). I ported my recorded videos to whatever video editor like davinci resolve or kdenlive and just glued them together, put some audio in the background. It was really low production level.
I did storyboard the whole thing, very carefully as well. That was clearly the most important part. This also guided what kind of animations I would do in Makie.jl. I don’t think I can say more from a general perspective, everything else would be details about the specific video.
Kinda hard to estimate the time it took as I did it always on the sides. It took me 1-2 weeks of full time work perhaps? Notice that I didn’t have to “study” or “prepare” the topic, it was my bread and butter. So that would probably take more, perhaps just as much.
That was the job of DynamicalBilliards.jl. It was 1/3rd of my PhD! If you want to know about how it actually works, then read here: Internals · DynamicalBilliards.jl In fact, this highlights how amazing Makie.jl is. It doesn’t do the physics for you, it only does the animation. It just naturally integrates with whatever kind of simulation you can imagine, billiards, dynamical systems, agent based models. Observables for the win!
I’m actually going to upload a Makie.jl video tutorial on making interactive scientific animations. I’ll put it at the JuliaDynamics Youtube channel. I have already scripted the video, shouldn’t take long.