awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
3b1b avatar

3b1b/manim

0
View on GitHub↗
87,664 stars·7,317 forks·Python·MIT·16 views

Manim

Manim is a Python-based computational geometry framework designed for programmatic video production. It functions as a mathematical animation engine, allowing users to generate high-fidelity visual content by scripting scene definitions rather than using traditional timeline-based editing software. The library is built to translate code-based instructions into precise, frame-accurate animations, making it a tool for explaining complex mathematical functions, geometric proofs, and abstract theories.

The engine distinguishes itself through a declarative scene graph that organizes visual elements into a hierarchical structure, where transformations and properties propagate from parent containers to nested objects. It utilizes an interpolation-based animation system to calculate smooth transitions between keyframes and a declarative updater system that executes callback functions on every frame to modify object properties dynamically. This approach allows for sophisticated dynamic geometry modeling, where models respond to mathematical inputs and constraints in real time.

The framework includes a vector-based geometry pipeline that processes mathematical primitives into resolution-independent shapes before rasterizing them into final output. It also supports three-dimensional development through camera-projection transformations, which map 3D coordinate spaces into 2D viewports using perspective or orthographic matrices. These capabilities enable the creation of data-driven visual aids for technical presentations and scientific communication.

Features

  • Rasterization Engines - Generates high-fidelity video by sequentially rendering individual scene states into image buffers.
  • Declarative Scene Graphs - Constructs visual hierarchies and properties through state-driven updates and time-based interpolation sequences.
  • Scene Graphs - Manages spatial transformations and property propagation by organizing visual elements into hierarchical tree structures.
  • Programmatic Video Production - Produces high-quality, frame-accurate video assets by converting code-based scripts into visual output.
  • Keyframe Animations - Calculates smooth motion transitions between defined keyframes using underlying mathematical functions.
  • Mathematical Visualization Engines - Visualizes complex mathematical functions and geometric proofs through precise, scriptable animation environments.
  • LaTeX-based Animation Components - Renders and transforms mathematical text dynamically by integrating typesetting directly into animation sequences.
  • Scene Animation Scripts - Animates mathematical scenes and geometric objects using descriptive, code-based definitions.
  • Frameworks - Provides specialized utilities for rendering coordinate systems, algebraic functions, and 3D surfaces with high mathematical fidelity.
  • Mathematical Animation Engines - Empowers creators to generate precise mathematical visualizations through scriptable scene definitions and complex geometric transformations.
  • Declarative Update Systems - Executes callback functions on every frame to dynamically modify object properties based on time or state.
  • Animation Engines - Translates code-based instructions into frame-by-frame vector animations using a suite of mathematical primitives.
  • Camera Projection Systems - Maps three-dimensional coordinate spaces into two-dimensional viewports by applying perspective or orthographic projection matrices.
  • Vector Geometry Pipelines - Converts mathematical primitives and paths into resolution-independent shapes prior to rasterization.
  • 3D Surface Visualizations - Enables the rendering and visualization of complex three-dimensional surfaces within an animation scene.
  • Interactive Animation Scenes - Facilitates the definition and manipulation of animation scenes through an interactive programmatic environment.
  • Dynamic Geometry Models - Constructs interactive geometric models that respond dynamically to mathematical inputs and constraints.
  • Generative Media Tools - Animation engine for explanatory math videos.
  • Scientific Research Tools - Animation engine for creating explanatory mathematical videos.
  • Learning and Reference - Animation engine for mathematical videos.
  • Technical Presentation Design - Develops dynamic, data-driven visual aids to communicate complex technical processes and scientific phenomena.
  • Animation Methods - Exposes programmatic methods to define and execute specific animation behaviors within a scene.
  • Coordinate Systems - Defines and renders mathematical axes, grids, and coordinate systems for visual clarity.

Star history

Star history chart for 3b1b/manimStar history chart for 3b1b/manim

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does 3b1b/manim do?

Manim is a Python-based computational geometry framework designed for programmatic video production. It functions as a mathematical animation engine, allowing users to generate high-fidelity visual content by scripting scene definitions rather than using traditional timeline-based editing software. The library is built to translate code-based instructions into precise, frame-accurate animations, making it a tool for explaining complex mathematical functions, geometric…

What are the main features of 3b1b/manim?

The main features of 3b1b/manim are: Rasterization Engines, Declarative Scene Graphs, Scene Graphs, Programmatic Video Production, Keyframe Animations, Mathematical Visualization Engines, LaTeX-based Animation Components, Scene Animation Scripts.

What are some open-source alternatives to 3b1b/manim?

Open-source alternatives to 3b1b/manim include: 3b1b/videos — This project is a programmatic animation engine designed to create mathematical visualizations through executable… ssloy/tinyrenderer — Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It… konvajs/konva — Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It… mrdoob/three.js — This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within… makieorg/makie.jl — Makie.jl is a high-performance Julia data visualization library and hardware-accelerated plotting engine used to… openscad/openscad — OpenSCAD is a script-based 3D modeler and parametric CAD tool that generates three-dimensional solid objects from…

Open-source alternatives to Manim

Similar open-source projects, ranked by how many features they share with Manim.
  • 3b1b/videos3b1b avatar

    3b1b/videos

    10,314View on GitHub↗

    This project is a programmatic animation engine designed to create mathematical visualizations through executable scripts. It functions as a mathematical visualization tool that renders parametric curves, equations, and coordinate systems to translate abstract concepts into high-resolution video. The system features an interactive scene renderer that allows for the execution of code snippets and real-time manipulation of scene states before final rendering. It includes an automated animation workflow that manages rendering checkpoints, scene playback, and video sequencing directly from a text

    Python
    View on GitHub↗10,314
  • ssloy/tinyrendererssloy avatar

    ssloy/tinyrenderer

    23,252View on GitHub↗

    Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It provides a software-defined rendering environment that executes all geometric transformations and rasterization tasks on the central processor, intentionally avoiding reliance on external hardware acceleration or graphics libraries. The project serves as a pedagogical resource for understanding the fundamental mathematical principles of computer graphics. It enables users to implement custom shader pipelines and core rendering techniques, such as barycentric coordinate calculatio

    C++3d3d-graphicsc-plus-plus
    View on GitHub↗23,252
  • konvajs/konvakonvajs avatar

    konvajs/konva

    14,135View on GitHub↗

    Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,

    TypeScriptanimationcanvasdrag-and-drop
    View on GitHub↗14,135
  • mrdoob/three.jsmrdoob avatar

    mrdoob/three.js

    113,086View on GitHub↗

    This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices. The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically bas

    JavaScript3daugmented-realitycanvas
    View on GitHub↗113,086
See all 30 alternatives to Manim→