Resolviendo una Integral Definida con Manim

from manim import *

class IntegralDefinida(Scene):
    def construct(self):
        # Fila 1
        eq1 = MathTex(r"\int_2^3 (x^3 - 5x + 4)\, dx").scale(0.5)
        eq1.to_edge(UP + LEFT)
        self.play(Write(eq1))
        self.wait()

        eq2 = MathTex(r"= \left[ \frac{x^4}{4} - \frac{5x^2}{2} + 4x \right]_2^3").scale(0.5)
        eq2.next_to(eq1, RIGHT, buff=1)
        self.play(Write(eq2))
        self.wait()

        # Fila 2
        eq3 = MathTex(
            r"= \left(",
            r"\frac{3^4}{4} - \frac{5 \cdot 3^2}{2} + 4 \cdot 3",
            r"\right)",
            r"- \left(",
            r"\frac{2^4}{4} - \frac{5 \cdot 2^2}{2} + 4 \cdot 2",
            r"\right)"
        ).scale(0.5)
        eq3.next_to(eq1, DOWN, buff=0.8).to_edge(LEFT)
        self.play(Write(eq3))
        self.wait()

        eq4 = MathTex(
            r"= \left(",
            r"\frac{81}{4} - \frac{45}{2} + 12",
            r"\right)",
            r"- \left(",
            r"\frac{16}{4} - \frac{20}{2} + 8",
            r"\right)"
        ).scale(0.5)
        eq4.next_to(eq3, RIGHT, buff=1)
        self.play(Write(eq4))
        self.wait()

        # Fila 3
        eq5 = MathTex(
            r"= \left(",
            r"\frac{81}{4} - \frac{90}{4} + \frac{48}{4}",
            r"\right)",
            r"- \left(",
            r"\frac{16}{4} - \frac{40}{4} + \frac{32}{4}",
            r"\right)"
        ).scale(0.5)
        eq5.next_to(eq3, DOWN, buff=0.8).to_edge(LEFT)
        self.play(Write(eq5))
        self.wait()

        eq6 = MathTex(
            r"= \left(",
            r"\frac{81 - 90 + 48}{4}",
            r"\right)",
            r"- \left(",
            r"\frac{16 - 40 + 32}{4}",
            r"\right)"
        ).scale(0.5)
        eq6.next_to(eq5, RIGHT, buff=1)
        self.play(Write(eq6))
        self.wait()

        # Fila 4
        eq7 = MathTex(
            r"= \left(",
            r"\frac{39}{4}",
            r"\right)",
            r"- \left(",
            r"\frac{8}{4}",
            r"\right)"
        ).scale(0.5)
        eq7.next_to(eq5, DOWN, buff=0.8).to_edge(LEFT)
        self.play(Write(eq7))
        self.wait()

        eq8 = MathTex(
            r"= \frac{39}{4} - 2"
        ).scale(0.5)
        eq8.next_to(eq7, RIGHT, buff=1)
        self.play(Write(eq8))
        self.wait()

        # Fila 5
        eq9 = MathTex(
            r"= \frac{39 - 8}{4}"
        ).scale(0.5)
        eq9.next_to(eq7, DOWN, buff=0.8).to_edge(LEFT)
        self.play(Write(eq9))
        self.wait()

        eq10 = MathTex(
            r"= \frac{31}{4}"
        ).scale(0.5)
        eq10.next_to(eq9, RIGHT, buff=1)
        self.play(Write(eq10))
        self.wait()