Mobjects, Scenes & Animations Explained | QuantumSketch

Manim has three core ideas: Mobjects are the things on screen, Scenes are the canvas, and Animations are the verbs that move Mobjects. Here's how they fit.

By Shihab
2 min read

Manim has three core ideas: Mobjects are the things on screen, Scenes are the canvas, and Animations are the verbs that move Mobjects. Master these three and you can read or write almost any Manim code.

Mobjects โ€” the nouns

A Mobject ("mathematical object") is anything visible:

circle = Circle()
eq = MathTex(r"a^2 + b^2 = c^2")
axes = Axes()

They have properties you set and read:

circle.set_color(BLUE)
circle.shift(LEFT * 2)
group = VGroup(circle, eq)   # move/style together

Scenes โ€” the canvas

A Scene is where everything happens. Your logic lives in construct():

class Demo(Scene):
    def construct(self):
        # build Mobjects, then animate them
        ...

Each Scene class renders to its own video. Run it with manim -pql file.py Demo โ€” see Learn Manim in 30 Minutes.

Animations โ€” the verbs

Animations act on Mobjects over time:

| Animation | Effect | |---|---| | Create | Draw it on | | Write | Write text/equations | | Transform | Morph A into B | | FadeIn / FadeOut | Fade | | Indicate | Flash to highlight |

self.play(Create(circle))
self.play(Transform(circle, square))
self.wait()

add vs play vs wait

| Method | Does | |---|---| | self.add(m) | Place instantly, no animation | | self.play(anim) | Animate over time | | self.wait(t) | Hold the frame for t seconds |

Driving change: ValueTracker

For smooth, math-driven motion (like a shrinking h in the derivative), a ValueTracker + always_redraw updates Mobjects continuously as a number changes.

Now build something

You know the nouns, verbs, and canvas โ€” that's Manim. Next: Python for Math Animation. Or skip code and prompt it.

โ†’ quantumsketch.app


Written by Shihab Shahriar Antor ยท Shahriar Labs

FAQ

Q.What is a Mobject in Manim?

A Mobject โ€” short for 'mathematical object' โ€” is anything you can display in Manim: a Circle, a Square, an Axes, a MathTex equation, or text. Mobjects have properties you can set and read, like position, color, and size, and you can group them into a VGroup to move or style them together. Everything visible in a Manim animation is a Mobject. You create them in your Scene's construct method, arrange them, and then hand them to animations. Think of Mobjects as the nouns of Manim โ€” the things โ€” while animations are the verbs that act on them.

Q.What's the difference between self.add and self.play in Manim?

self.add places a Mobject on screen instantly with no animation โ€” it just appears in the next frame, useful for static setup. self.play runs one or more Animations over time, like Create, Write, Transform, or FadeIn, so the change is animated across several seconds. Use self.add when you want something present from the start, and self.play when you want the audience to watch it happen. self.wait pauses on the current frame for a given duration, which you use to hold a result before the next animation.

Tags:#manim#tutorial#python
S

Shihab Shahriar

AI Engineer & Founder of Shahriar Labs. Exploring the intersection of design, cognition, and machine learning.