Manim

From ImpVis Wiki
Jump to navigation Jump to search

Manim is a python library used to create animations mainly for abstract concepts. It was created by Grant Sanderson, the creator of 3blue1brown: https://www.youtube.com/c/3blue1brown.

There are two versions of Manim: ManimCE (community edition) and the original Manim. ManimCE generally has more resources and documentation, and is more stable.

Installation

No installation required

If you would like to play around with manim without installation, you can try it in the online juypter environment here: https://try.manim.community/. Note, it does take a few minutes to load. Though this shouldn't be used for a project, as it can be quite slow and you can't save your work.

Codespaces

This is by far the easiest method of creating a development environment for manim. Go here: https://github.com/abhinandshibu/manim-devcontainer.

Remember to check whether you have access to github codespaces, either by buying it, applying to the beta program or from your company/institution.

  1. Fork the repository (by clicking the fork button on the top right of your screen)
  2. Click the green code button, then under codespaces click "Create codespace on main."

Install a Manim Development Environment Locally

Go here: https://github.com/abhinandshibu/manim-devcontainer.

  1. Fork the repository (by clicking the fork button on the top right of your screen).
  2. Clone your forked repository to your local machine.
  3. Install docker desktop (if your operating system is windows, you may need to install WSL 2 for this).
  4. Install the VS Code extension: "Remote - Containers".
  5. Then click on the green button on the very bottom left, which will bring up a pop up, then click "reopen in container".

Install Manim locally

If you would like to play with manim locally, you have to install a few dependencies, you can see the guides for windows, mac and linux here: https://docs.manim.community/en/stable/installation.html. Though note, that it can be a bit finicky sometimes.

Tips

  1. Refresh your knowledge about python before diving into manim. Here is a small free book you can skim through: https://learnbyexample.github.io/100_page_python_intro/cover.html.
  2. Set up your development environment for manim, I recommend codespaces.
  3. Watch the manim beginner video thoroughly, pause every now and then, and try to recreate what you have learnt in your development environment.
  4. Skim through the manim video playlist of manim concepts and the manim ce example page to get an idea of what kind of animations are possible using manim.
  5. Plan and design your animation (google slides or miro can be quite helpful)
  6. Code up your design using manim, while referring back to the learning resources when you come across sections that you do not know how to do.
  7. Don't be afraid to ask for help :)

Learning Resources

Manim Beginner Video (a really good explanation of manim concepts)

Manim Video Playlist Of Manim Concepts (dives into more advanced concepts within manim)

Manim CE Tutorial Page (the quickstart page should give you a quick idea of the basics)

Manim CE Example Page (looking at the examples to get ideas and understand how they did it)