Translate and Rotate¶
- class TranslateAndRotate(mobject: VMobject, distance: float, angle: float, run_time=3, apply_function_kwargs: Dict[str, Any] | None = None, **kwargs)[source]¶
An animation that translates a
VMobject
along an axis that is simultaneously rotating. In a sense, this is a wrapper class that automatically decides which animation to apply to a given object, without having to specify whether it should be aCircleTranslateAndRotate
,DotTranslateAndRotate
, etc.Note
In contrast to a rotated translate (e.g.,
CircleRotatedTranslate
), here the translation axis is rotated while the translation is happening.Examples
Example: TranslateAndRotateExample ¶
from manim import * from hmanim.native import Circle, Dot, Point, TranslateAndRotate class TranslateAndRotateExample(Scene): def construct(self): # The plane that all our hyperbolic objects live in. plane = PolarPlane(size=5) self.add(plane) # Draw a circle. center = Point(3.0, 0.0) circle = Circle( center=center, radius=5.0, plane=plane, color=YELLOW, ) self.add(circle) # Draw the circle center. dot = Dot( center, plane=plane, color=YELLOW, ) self.add(dot) # Rotate both the circle and the circle center. distance = 3.0 angle = TAU / 4 self.play( TranslateAndRotate( circle, distance=distance, angle=angle ), TranslateAndRotate( dot, distance=distance, angle=angle, ), )
from hmanim.native import Circle, Dot, Point, TranslateAndRotate class TranslateAndRotateExample(Scene): def construct(self): # The plane that all our hyperbolic objects live in. plane = PolarPlane(size=5) self.add(plane) # Draw a circle. center = Point(3.0, 0.0) circle = Circle( center=center, radius=5.0, plane=plane, color=YELLOW, ) self.add(circle) # Draw the circle center. dot = Dot( center, plane=plane, color=YELLOW, ) self.add(dot) # Rotate both the circle and the circle center. distance = 3.0 angle = TAU / 4 self.play( TranslateAndRotate( circle, distance=distance, angle=angle ), TranslateAndRotate( dot, distance=distance, angle=angle, ), )