5 ms·
Manim: Animation engine for explanatory math videos
- jedimastert 6y agoIf you haven't heard of 3 Blue 1 Brown, congrats[0] because you are in for a treat. He is simply one of the best intuitive math video creators in the game right now. I can't even a good intro, just find something interesting or something you're confused about and enjoy[1] [0]: https://xkcd.com/1053/ https://xkcd.com/1053/ [1]: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
- tmabraham 6y agoBTW, he's currently co-teaching a course on Julia with some really great lectures on computational thinking: https://computationalthinking.mit.edu/Fall20/ https://computationalthinking.mit.edu/Fall20/ He also had a nice video about epidemics/pandemics: https://www.youtube.com/watch?v=gxAaO2rsdIs https://www.youtube.com/watch?v=gxAaO2rsdIs All using manim for visualizations.
- wikunia 6y agoIf interested in animation and Julia you might wanna have a look at: https://github.com/Wikunia/Javis.jl https://github.com/Wikunia/Javis.jl We are currently working on v0.3 with a cleaner syntax. Coming in about a week
- hrnnnnnn 6y agoI just started watching the intro to linear algebra course this morning, so this is quite the coincidence! I'm really appreciating how visual the explanations are, I find it much easier to reason about these things geometrically.
- hydroxideOH- 6y agoFor those interested in Manim, there's an actively developed fork called ManimCommunity[0] that is looking to make it even more powerful and developer friendly. https://github.com/ManimCommunity/manim https://github.com/ManimCommunity/manim
- tikhonj 6y agoIf you like this, also check out the Haskell reanimate[1] library. It's a library for animated diagrams inspired by Manim but with a different API design and feature set. Here's a snippet to trace out a rotating rectangle: do s <- fork $ newSpriteA drawBox v <- spriteVar s 0 rotate tweenVar v 2 $ \val -> fromToS val 90 The API docs[2] have a bunch of small examples like this illustrated with inline gifs, which I think is a great touch. [1]: https://github.com/reanimate/reanimate https://github.com/reanimate/reanimate [2]: https://hackage.haskell.org/package/reanimate-1.1.2.1/docs/Reanimate.html https://hackage.haskell.org/package/reanimate-1.1.2.1/docs/R...
- jevgeni 6y agoThank you for the library tip!
- monkpit 6y agoIt’s too bad the gifs seem to be just file references instead of real-time animations. Looks like some of the code snippets do not match their animations. For example, parLoopA and parDropA seem to have the same sample code, but have different animations.
- Lemmih 6y agoGood catch. Fixed in HEAD.
- bmc7505 6y agoOne thing I don’t think a lot of people appreciate is that Manim is the spiritual successor to Bentley and Kernighan’s Anim, an early system for algorithm visualization: https://static.usenix.org/publications/compsystems/1991/win_bentley.pdf https://static.usenix.org/publications/compsystems/1991/win_...
- mrdonbrown 6y agoGreat timing! I've been looking for something like this to generate code walkthroughs (among other things). After a bit of playing around, here is a simple video (with linked source) of using Manim (the community edition) to generate a quick walkthrough: https://www.youtube.com/watch?v=i-pvpQsZD_I https://www.youtube.com/watch?v=i-pvpQsZD_I Most of this could also be created via an editor like DaVinci Resolve, but the programmer in me likes the consistency and flexibility of a code-driven video.
- MarkMc 6y agoNice! Is there a steep learning curve with Manim? How long did it take to create that video?
- mrdonbrown 6y agoSadly, it took me a few hours, but only because I went down a rabbit hole of trying to render a colorized code snippet without knowing the Code class existed. I got to the point of a custom Tex template that used listings, only to find out Manim strips any color, so I attempted to parse the SVG and reinsert color using Manim APIs... only to find out Code did everything I wanted and more :) Once I found out about Code, I'd say probably 15 minutes to land on the opacity strategy and a few minutes to learn how to control the camera, so in the end, not bad. The limiting factor is now figuring out what I want it to do in the first place.
- jjdin14 6y agoCool demo. I tried using manim a while ago but struggled setting it up and creating anything worthwhile. This looks like a solid and simple starting point to expand from, thanks!
- untoxicness 6y agoGrant Sanderson, the creator of Manim, talked about Manim on the Lex Fridman podcast[0]. He emphasized that he is no software engineer and did not plan on making Manim publicly available when he started. [0] https://lexfridman.com/grant-sanderson-2/ https://lexfridman.com/grant-sanderson-2/
- gregsadetsky 6y agoThanks for the reference! Here's the video version of the podcast: https://www.youtube.com/watch?v=U_6AYX42gkU https://www.youtube.com/watch?v=U_6AYX42gkU
- jungletime 6y agoRich Text Effects in Godot 3.2 https://www.youtube.com/watch?v=Ep3tsI-MWIw https://www.youtube.com/watch?v=Ep3tsI-MWIw
- billfruit 6y agoCan it do stuff in 3d, like vectors in space and geometry of solids? At a first glance it is not clear if it can or cannot. Also is there a comparable tools that do such interactive math animation in 3d.
- mrdonbrown 6y agoI think it can: https://docs.manim.community/en/latest/examples/3d.html https://docs.manim.community/en/latest/examples/3d.html