Mobject
The defined measuring functions for
Mobject in mobject.py
- def get_extremum_along_dim(self, points=None, dim=0, key=0)
- def length_over_dim(self, dim)
- def get_width(self)
- def get_height(self)
- def get_depth(self)
Measuring
def get_extremum_along_dim(self, points=None, dim=0, key=0)
get_coord is used to get the extremum of a
Mobject along the specified dim parameter, dim, according to the specified parameters.
def length_over_dim(self, dim)
get_x is used to get the length of a
Mobject over the specified dim parameter, dim.
def get_width(self)
get_y is used to get the width of a
Mobject.
def def get_height(self)
get_z is used to get the height of a
Mobject.
def def get_depth(self)
get_depth is used to get the depth of a
Mobject
Example
Code
# folder/file: tut/manim_mobject_func_measure_001a.py
import re
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Rectangle, Square, Circle, Line,RoundedRectangle
from manimlib.animation.creation import ShowCreation
from manimlib.mobject.svg.tex_mobject import TexMobject, TextMobject
from manimlib.animation.fading import FadeOut
from manimlib.animation.creation import Write
from manimlib.animation.transform import ApplyMethod, ApplyFunction
class manim_mobject_func_measure_001a(Scene):
def construct(self):
linex=Line([2,2,0],[1,1,0],color="#88FF00")
polya= RoundedRectangle(width=2,height=2,corner_radius=0.5,stroke_width=0,fill_color="#FFFF00",fill_opacity=1)
polyb = Rectangle(width=2.5,height=1.5,stroke_width=15,color="#88FF00",fill_color="#FFFF00",fill_opacity=1)
polyc= Square(side_length=2,stroke_width=20,fill_color="#FF8800",fill_opacity=1).move_to([-3,-2,0])
polyd= Circle(arc_center=(-2,0.75,0),color="#888888")
polya.add(Rectangle(width=2,height=2,color="#77DDCC").move_to(polya))
polya.add(Rectangle(width=1,height=2.5,color="#77DDCC").move_to(polya))
polya.add(TextMobject("A").move_to(polya))
polye = Rectangle(width=1.25,height=3.75,color="#888888",fill_color="#333333",fill_opacity=1).move_to([-0.625,-1.125,0])
polyf= Rectangle(width=1,height=2,color="#888888").move_to([-2.5,-2,0])
polyb.add(polye)
self.play(ShowCreation(polyb),run_time=2)
self.wait()
self.play(ShowCreation(polyc),ShowCreation(polyf),run_time=2)
self.wait()
self.play(ShowCreation(polya.move_to(polyd)),ShowCreation(polyd),run_time=2)
self.wait()
self.add(TextMobject("B").move_to(polyb))
self.add(TextMobject("C").move_to(polyc))
self.add(TextMobject("E").move_to(polye))
self.add(linex)
self.add(Rectangle(width=14.22,height=8))
text=TexMobject(r"polyb.get\_extremum\_along\_dim(dim=1):\ ",polyb.get_extremum_along_dim(dim=1)).move_to([0,3,0])
self.play(Write(text),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polyb.length\_over\_dim(1):\ ",re.sub("\s+","\ ",str(polyb.length_over_dim(1)).replace("[","\cr["))).move_to([0,3,0])
self.play(Write(text.shift_onto_screen()),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polyb.get\_width():\ ",re.sub("\s+","\ ",str(polyb.get_width()).replace("[","\cr["))).move_to([0,3,0])
self.play(Write(text.shift_onto_screen()),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polyb.get\_height():\ ",re.sub("\s+","\ ",str(polyb.get_height()).replace("[","\cr["))).move_to([0,3,0])
self.play(Write(text.shift_onto_screen()),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polyb.get\_depth():\ ",re.sub("\s+","\ ",str(polyb.get_depth()).replace("[","\cr["))).move_to([0,3,0])
self.play(Write(text.shift_onto_screen()),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
Output