Fraction

class Fraction1(Scene):
    def construct(self):
        frac = Fraction("a", "b")
        self.add(frac)
        frac.numerator.set_color(RED)
        frac.vinculum.set_color(LIGHT_BROWN)
        frac.denominator.set_color(BLUE)
Fraction Equation Operation
class Fraction2(Scene):
    def construct(self):
        V, I, R = MathTex("V", "I", "R")
        tex = MathTex(V, "=", [ I, R ])
        self.add(tex).wait(1)
        tex.LHS = Fraction(V, I.pop())
        self.play(TransformInStages.progress(tex))
        self.wait(1)
        tex.LHS = V
        tex.RHS.terms = [ I, R ]
        self.play(TransformInStages.progress(tex))
Adding Fractions
class FractionMerge(Scene):
    def construct(self):
        a = MathTex("a", color=RED)
        b = MathTex("b", color=BLUE)
        c = MathTex("c", color=GREEN)
        frac1 = Fraction( Term(b, 2),  [ 4, Term(a, 2) ])
        frac2 = Fraction([ 4, a, c ],  [ 4, Term(a, 2) ])
        tex = MathTex(frac1, "+", frac2)
        self.add(tex)
        frac1.numerator = MathTex(frac1.numerator, tex[1], frac2.numerator)
        frac1.denominator.merge(frac2.denominator)
        tex.terms = [ frac1 ]
        self.play(TransformInStages.progress(tex, lag_ratio=0.5))