Brace
The defined brace
SVGMobject in brace.py
- Class Brace(TexMobject)
- Class BraceLabel(VMobject)
- Class BraceText(BraceLabel)
Class Brace(TexMobject)
Brace is used to create a brace of the specified
Mobject for specified parameters.
Class BraceLabel(VMobject)
BraceLabel is used to create a brace with
TexMobject label for specified parameters.
Class BraceText(BraceLabel)
BraceText is used to create a brace with
TextMobject text for specified parameters.
Example
Code
# folder/file: tut/manim_mobject_bracebracelabelbracetext_001a.py
from manimlib.scene.scene import Scene
from manimlib.animation.creation import Write
from manimlib.mobject.svg.brace import Brace, BraceLabel, BraceText, TexMobject ,TextMobject
from manimlib.mobject.types.vectorized_mobject import VGroup
class manim_mobject_bracebracelabelbracetext_001a(Scene):
def construct(self):
b1=TexMobject("A","S","d","f").scale(0.4).move_to([-6,0,0])
b2=TexMobject("AS\\ df","\\over","asdf",r"\\%").scale(0.4).move_to([-2,0,0])
b3=TexMobject("shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}").scale(0.4).move_to([0,0,0])
b4=TexMobject(r"\text{weightNorm}_i = \frac{weight_i}{\sum\limits_i weight_i}").scale(0.4).move_to([2.5,0,0])
c1=TextMobject("A","S","d","f").scale(0.4).move_to([-6,-2.5,0])
c2=TextMobject("$AS\\ df \\over asdf\\%$").scale(0.4).move_to([-2,-2.5,0])
c3=TextMobject("shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%").scale(0.4).move_to([0,-2.5,0])
c4=TextMobject("$\\text{weightNorm}_i = \\frac{weight_i}{\\sum\\limits_i weight_i}$").scale(0.4).move_to([2.5,-2.5,0])
eb1=TexMobject("A","S","d","f")
eb2=TexMobject("AS\\ df","\\over","asdf",r"\\%")
eb3=TexMobject("shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}").scale(0.4)
eb4=TexMobject(r"\text{weightNorm}_i = \frac{weight_i}{\sum\limits_i weight_i}").scale(0.4)
ec1=TextMobject("A","S","d","f")
ec2=TextMobject("$AS\\ df \\over asdf\\%$")
ec3=TextMobject("shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%").scale(0.4)
ec4=TextMobject("$\\text{weightNorm}_i = \\frac{weight_i}{\\sum\\limits_i weight_i}$").scale(0.4)
eqg1=VGroup(eb1,eb2.next_to(eb1)).move_to([-5.5,2.5,0])
eqg2=VGroup(eb3,eb4.shift([0,-1,0])).copy().move_to([-2,2.5,0])
eqg3=VGroup(ec1,ec2.shift([0,-1,0])).move_to([0.5,2.5,0])
eqg4=VGroup(ec3,ec4.next_to(ec3)).move_to([4.5,2.5,0])
self.add(TextMobject("Brace").move_to([0,3.5,0]),TextMobject("BraceLabel").move_to([0,1,0]),TextMobject("BraceText").move_to([0,-1.5,0]))
self.add(b1,b2,b3,b4,c1,c2,c3,c4)
self.wait(3)
self.play(Write(eqg1),Write(Brace(eqg1,([0,1,0]))),run_time=5)
self.add(BraceLabel(b1,("LABEL","shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}"),([0,1,0]),height=0.3),BraceText(c1,("TEXT","shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%"),([0,1,0]),height=0.3))
self.wait(3)
self.play(Write(eqg2),Write(Brace(eqg2,([-1,0,0]))),run_time=5)
self.add(BraceLabel(b2,("LABEL","shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}"),([-1,0,0]),height=0.3),BraceText(c2,("TEXT","shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%"),([-1,0,0]),height=0.3))
self.wait(3)
self.play(Write(eqg3),Write(Brace(eqg3,([1,0,0]))),run_time=5)
self.add(BraceLabel(b3,("LABEL","shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}"),height=0.4),BraceText(c3,("TEXT","shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%"),height=0.4))
self.wait(3)
self.play(Write(eqg4),Write(Brace(eqg4,([0,-1,0]))),run_time=5)
self.add(BraceLabel(b4,("LABEL","shapetext1",r"\vec{F}_{r} = \sum_i \vec{F}_i",r"\text{\%}"),([1,0,0]),height=0.3),BraceText(c4,("TEXT","shapetext1","$\\vec{F}_{r} = \\sum\\limits_i \\vec{F}_i$","\\%"),([1,0,0]),height=0.3))
self.wait(3)
Output