Mobject
The defined rotating functions for
Mobject in mobject.py
- def rotate_about_origin(self, angle, axis=OUT, axes=[])
- def rotate(self, angle, axis=OUT, **kwargs)
- def rotate_in_place(self, angle, axis=OUT)
- def flip(self, axis=UP, **kwargs)
Rotating
def rotate_about_origin(self, angle, axis=OUT, axes=[])
rotate_about_origin is used to rotate a
Mobject about the origin, with respect to the specified axis parameter, default axis is OUT, with the specified angle parametet, angle, according to the specified parameters.
def rotate(self, angle, axis=OUT, **kwargs)
rotate is used to rotate a
Mobject about the center of the
Mobject, with respect to the specified axis parameter, default axis is OUT, with the specified angle parametet, angle, according to the specified parameters.
def rotate_in_place(self, angle, axis=OUT)
rotate_in_place is same as
rotate.
def flip(self, axis=UP, **kwargs)
flip is used to rotate a
Mobject about the center of the
Mobject, with respect to the specified axis parameter, default axis is UP, with the default angle,
TAU/2, according to the specified parameters.
Example
Code
# folder/file: tut/manim_mobject_func_rotating_001a.py
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_rotating_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])
self.play(ShowCreation(polyb),ShowCreation(polye),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"polya.rotate\_about\_origin(0.5)").move_to([0,3,0])
self.play(Write(text),ApplyFunction(lambda mob:mob.rotate_about_origin(0.5),polya),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polya.rotate(1.5)").move_to([0,3,0])
self.play(Write(text),ApplyFunction(lambda mob:mob.rotate(1.5),polya),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polya.rotate\_in\_place(1.5)").move_to([0,3,0])
self.play(Write(text),ApplyFunction(lambda mob:mob.rotate_in_place(1.5),polya),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
text=TexMobject(r"polya.flip()").move_to([0,3,0])
self.play(Write(text),ApplyFunction(lambda mob:mob.flip(),polya),run_time=3)
self.wait()
self.play(FadeOut(text),run_time=2)
Output