Transform
The defined transform
Animation in transform.py
- transform.Transform(Animation)
- transform.ReplacementTransform(Transform)
- transform.TransformFromCopy(Transform)
- transform.ClockwiseTransform(Transform)
- transform.CounterclockwiseTransform(Transform)
- transform.MoveToTarget(Transform)
- transform.CyclicReplace(Transform)
- transform.Swap(CyclicReplace)
- transform.ApplyMethod(Transform)
- transform.ApplyPointwiseFunction(ApplyMethod)
- transform.ApplyPointwiseFunctionToCenter(ApplyPointwiseFunction)
- transform.ApplyMatrix(ApplyPointwiseFunction)
- transform.FadeToColor(ApplyMethod)
- transform.ScaleInPlace(ApplyMethod)
- transform.ShrinkToCenter(ScaleInPlace)
- transform.Restore(ApplyMethod)
- transform.ApplyComplexFunction(ApplyMethod)
- transform.ApplyFunction(Transform)
- transform.TransformAnimations(Transform)
Class Restore(ApplyMethod)
Restore is used to restore the specified
VMobject back to the state saved by
save_state of the specified
VMobject.
Example
Code
# folder/file: tut/manim_animation_restore_001a.py
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Circle, Square
from manimlib.animation.transform import ApplyMethod, ApplyFunction, Restore
from manimlib.mobject.svg.tex_mobject import TextMobject
from manimlib.animation.composition import AnimationGroup
class manim_animation_restore_001a(Scene):
def construct(self):
a1=TextMobject("Test1 Text").move_to([-5.5,2.5,0])
a2=TextMobject("T2 Text").move_to([-3,2.5,0])
a3=Circle().scale(0.5).move_to([-0.5,2.5,0])
a4=Square().scale(0.5).move_to([2,2.5,0])
b1=TextMobject("Test1 Text").move_to([-5.5,0,0])
b2=TextMobject("T2 Text").move_to([-3,0,0])
b3=Circle().scale(0.5).move_to([-0.5,0,0])
b4=Square().scale(0.5).move_to([2,0,0])
self.add(TextMobject("ApplyMethod").move_to([0,3.5,0]),TextMobject("ApplyFunction").move_to([0,1,0]))
self.add(a1,a2,a3,a4,b1,b2,b3,b4)
self.wait(3)
def b2_func(mob):
mob.move_to(b2)
return mob
self.play(AnimationGroup(ApplyMethod(a1.move_to,a2),ApplyFunction(b2_func,b1)),run_time=5)
a1.save_state()
b1.save_state()
a2.save_state()
b2.save_state()
a3.save_state()
b3.save_state()
a4.save_state()
b4.save_state()
self.wait(3)
a1.move_to([-5.5,3,0])
b1.move_to([-5.5,0.5,0])
self.wait(2)
a2.move_to([-3,1.5,0])
b2.move_to([-3,-1,0])
self.wait(3)
def b3_func(mob):
mob.scale(1.5)
return mob
self.play(AnimationGroup(ApplyMethod(a3.scale,1.5),ApplyFunction(b3_func,b3),run_time=5))
self.wait(3)
def b4_func(mob):
mob.shift([-2,0,0])
return mob
self.play(AnimationGroup(ApplyMethod(a4.shift,(-2,0,0)),ApplyFunction(b4_func,b4)),run_time=5)
self.wait(3)
self.play(AnimationGroup(Restore(a1),Restore(b1),Restore(a2),Restore(b2),Restore(a3),Restore(b3),Restore(a4),Restore(b4),run_time=5))
self.wait(3)
Output