""" NOTE: This repository is maintained by the Manim Community and is not associated with Grant Sanderson or 3Blue1Brown in any way (although we are definitely indebted to him for providing his work to the world). If you would like to study how Grant makes his videos, head over to his repository (3b1b/manim). This fork is updated more frequently than his, and it's recommended to use this fork if you'd like to use Manim for your own projects. """
See the gallery for it in action [2].
[0] https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
To me this really shows the power of OSS, and that one can "take ownership" of their destiny through forking and that it doesn't need to be adversarial.
In many ways, ideas are much more powerful than code. That code itself can be a thought terminating thing, by making ideas reified, it also instantly constructs an Overton Window or maybe a Chesteron's Fence, or maybe a Winchester House. A Knot's Berry Farm of technical debt built on soggy metaphors.
3b1b's explaination in his readme is much clearer and Manim community should decouple itself from the 3B1B name / popularity.
"Manim is an animation engine for explanatory math videos. It's used to create precise animations programmatically, as demonstrated in the videos of 3Blue1Brown." [1]
"Note, there are two versions of manim. This repository began as a personal project by the author of 3Blue1Brown for the purpose of animating those videos, with video-specific code available here. In 2020 a group of developers forked it into what is now the community edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. See this page for more details." [2]
[1] Manim Community Edition Readme [2] Manim 3B1B edition
Here's the gallery of example stuff you can do: https://docs.manim.community/en/stable/examples.html
There are probably other methods defining the scene interface defined in the base class definition.
Edit: probably needs a bit of chores done, especially around typescript declaration organization. I built it during a brief 3-week funemployment last year. Side projects are hard!
It was a really visionary piece of work, it’s a bummer to see it fall apart like this, and I don’t think anything has come out since that really replaces it (though manim does look cool).
One of the Bens is Ben Eater, who has a fantastic YouTube channel that I enthusiastically recommend: https://youtube.com/c/BenEater
[0] https://acko.net
The main downside to be is the lack of SVG output: I'd have to embed videos whereas I prefer SVG if possible.
Any other contender out there with vector output?
The author, Steven De Keninck, is quite impressive as well, having got his start in the demoscene some time ago. He has a good video from SIGGRAPH 2019 [2] that explains why this algebra is better than [matrices, tensors, vectors, complex numbers]. Of particular interest (to me anyway) is the 2D projective geometry.
I don't want to oversell it, but ganja is fucking amazing and there is a great deal I want to do with it. For one, I'd like to recapitulate my physics degree with it.
The official Quickstart documents have animations showing how the transitions work:
https://docs.manim.community/en/stable/tutorials/quickstart....
At a glance, it seems tightly bound to making math animations, unsurprisingly.
Are there more general open source animation tools? Or other narrow tools for other niches?
https://mybinder.org/v2/gist/behackl/725d956ec80969226b7bf9b...
It reminds me of the way websites evolved around 2005-2010 to start to take design seriously, not just on specialist web design sites but on major news sites and search engines, etc. Part of it was "Web 2.0" and then Bootstrap style CSS frameworks and the maturity of browsers as IE6 died off.
And in the spirit of sharing a bit of the ‘how it’s done’ - obviously while Grant uses Manim, Freya uses Unity3D and her ‘Shapes’ library [2] to produce her visualizations - she also streams a lot of her dev work so if you want to follow along with how it’s done, that’s another avenue to look at.
1: https://www.3blue1brown.com/blog/some1
2: https://assetstore.unity.com/packages/tools/particles-effect...
I expect with the quality of videos that are now being churned out, that the "education gain coefficient" between old style lectures and brilliantly produced video content would only have increased further. (Of course this only works in practice if you're engaged with the video, which is also true for lectures).
At the same time, I hope it encourages folks to open source their code even if it isn't "ready for prime time" or what ever euphemism is for embarrassment.
I think of it as a file format, but I'm assuming no files are involved here. Aside from that I've noticed the contents of SVG files look similar to the 2d canvas operations—which to my mind seems like the natural thing to use for something like this—so why use SVG instead? And is there any relationship between canvas drawing and SVG?
Back in 2019, there was no community edition, and most people based their own work off 3b1b's repository. Back then, Manim used a renderer called Cairo, which was painfully slow especially for 3D Scenes. So in late 2019, 3b1b started work on making Manim use OpenGL as its renderer instead, in a new branch called the "shaders" branch. In mid-2020, the community became frustrated at Grant's lack of interaction with them and slow response in merging PRs, so they decided to start their own fork. However, since the shaders branch was still extremely buggy and unfinished back then, they decided to build off the master branch instead.
In early 2021, the OpenGL transition on 3b1b/manim was "complete" (the shaders branch became the master branch, and 3b1b/manim uses OpenGL as its renderer now). This is probably the main reason 3b1b still uses his own version.
Since we decided to work on the master branch, we were (and still are) using Cairo as the default renderer. However, work quickly began after this to transition the community version to use OpenGL. We currently have an experimental OpenGL renderer, and it actually is nearly as complete as 3b1b/manim. However, since we had to worry about backwards compatibility, tests, documentation, Jupyter, etc., this transition takes a lot of work and is still ongoing. I expect that within 1 or 2 months however, that the community version will become "strictly better" than 3b1b's version, i.e. it can do everything the 3b1b version can with the OpenGL renderer (although it may still be considered experimental).
The reason we recommend using the community version is because it is significantly less buggy, has much more comprehensive documentation, tests, Jupyter support, new features added by contributors and devs, plus if you happen to run into a bug, you're far more likely to have a contributor notice it and make a PR fixing it quickly. Yes our renderer is slower, but we're quickly preparing to transition to OpenGL as a default.
If you don't believe us that the community edition is more recommended for beginners, 3b1b himself says it now: https://www.3blue1brown.com/contact#manim
For more information, you can read this page: https://docs.manim.community/en/stable/installation/versions...