Skip to main content

A library that extends the capabilities of Manim

Project description

Main Logo

Project Version Project License Tests

ManimExtra - Addition to the standard set function in ManimCE

Table of Contents:

What is it?

ManimExtra provides an advanced feature set for ManimCE. The library makes it easy to work with geometry by adding many classic designs, such as a bisector or an inscribed circle. There are also many objects that'll simplify the work with algebra by adding systems of equations and a trigonometric circle.

Installation

Installing the library is straightforward. If there were no problems with the installation of ManimCE, then there'll be no problems here. On Windows, you need to write the command

pip install manimextra

And on Linux/MacOS

pip3 install manimextra

Examples

Below are some complex usage examples combining several objects from ManimExtra.

Example 1: Triangle Centers and Circles

from manim import *
from manimextra import *

class TriangleCentersScene(Scene):
    def construct(self):
        A = Dot(3 * LEFT + 2 * DOWN, color=RED)
        B = Dot(2 * LEFT + 3 * UP, color=GREEN)
        C = Dot(3 * RIGHT + 2 * DOWN, color=BLUE)

        sides = VGroup(Line(B, C), Line(A, C), Line(A, B))

        incenter = Incenter(A, B, C).set_color(YELLOW)
        centroid = Centroid(A, B, C).set_color(PURPLE)
        circumcenter = Circumcenter(A, B, C).set_color(ORANGE)

        incircle = Incircle(A, B, C, color=YELLOW, stroke_opacity=0.5)
        circumcircle = Circumcircle(A, B, C, color=ORANGE, stroke_opacity=0.5)

        self.add(A, B, C, sides)
        self.play(FadeIn(incenter), FadeIn(incircle))
        self.play(FadeIn(centroid))
        self.play(FadeIn(circumcenter), FadeIn(circumcircle))
        self.wait()

Example 2: System of Equations Animation

from manim import *
from manimextra import *

class SystemOfEquationsExample(Scene):
    def construct(self):
        system1 = SystemOfEquations(
            MathTex("x + y = 2"),
            MathTex("x - y = 0")
        )
        system2 = SystemOfEquations(
            MathTex("x = 1"),
            MathTex("y = 1")
        )
        self.play(FadeIn(system1))
        self.wait()
        self.play(TransformSystem(system1, system2))
        self.wait()

Example 3: Pie Chart and Unit Circle

from manim import *
from manimextra import *

class PieAndCircleScene(Scene):
    def construct(self):
        pie = PieChart(
            data={"A": 10, "B": 20, "C": 30},
            label_buff=0.7,
            inner_radius=1,
            outer_radius=2
        ).to_edge(LEFT)
        circle = UnitCircle().to_edge(RIGHT)
        circle.add_point(PI / 2, r"\dfrac{\pi}{2}")
        circle.add_point(PI, r"\pi")
        self.play(FadeIn(pie), FadeIn(circle))
        self.wait()

Documentation

Full documentation with API reference and more examples is available at:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manimextra-1.13.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manimextra-1.13.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file manimextra-1.13.0.tar.gz.

File metadata

  • Download URL: manimextra-1.13.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for manimextra-1.13.0.tar.gz
Algorithm Hash digest
SHA256 8f85ce5936325d44e3975d870b27b617411446c94d91a4f1046945f9a19675d2
MD5 047595d850ee274cc60afa2a10002d67
BLAKE2b-256 d16bc88bc79314f19d6b3117799b66f332c4d1f32fd82cb1d9b34414ba526e7f

See more details on using hashes here.

File details

Details for the file manimextra-1.13.0-py3-none-any.whl.

File metadata

  • Download URL: manimextra-1.13.0-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for manimextra-1.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d06e862722e931f87115df1e796545e743b6b1e8801303fa24e16c19a915e227
MD5 a72059ed59275122a97cec6edf656d45
BLAKE2b-256 e55a46ebf0d53ba6aee4a1ecd1d9190b477e70687930d3184b3f6f9942e6571a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page