4.5 旋转动画( Rotate)
Rotate
是 Manim(一个用于创建数学动画的 Python 库)中的一个动画类,主要用于实现 Mobject(数学对象)的旋转效果。它继承自 Transform
类,允许用户通过指定旋转的角度、旋转轴和旋转中心来控制动画的行为。
class Rotate(mobject=None, *args, use_override=True, **kwargs)
Rotate
是一个动画类,用于旋转一个 Mobject(数学对象)。它继承自 Transform
类。
参数说明:
-
mobject (Mobject): 需要被旋转的对象,类型为 Mobject。
-
angle (float): 旋转的角度,单位通常是弧度。
-
axis (np.ndarray): 旋转的轴,使用 numpy 数组表示,通常是一个三维向量。
-
about_point (Sequence[float] | None): 旋转的中心点,使用浮点数序列表示。如果设置为
None
,则不会使用该参数。 -
about_edge (Sequence[float] | None): 如果
about_point
为None
,则此参数指定边界框的某个点的方向,将其作为旋转中心。
这个类的作用是通过指定旋转角度、旋转轴、旋转中心等参数来对 Mobject 进行旋转动画处理。
示例1:
from manim import *from manim import *class UsingRotate(Scene):def construct(self):self.camera.background_color='#003311'self.play(Rotate(Square(side_length=0.5).shift(UP * 2),angle=2*PI,about_point=ORIGIN,rate_func=linear,),Rotate(Square(side_length=0.5,color=PURE_RED), angle=2*PI, rate_func=linear),)
示例2:
下面是一个示例代码,演示如何使用 Rotate
动画类的所有参数来旋转一个 Mobject。在这个示例中,我们将创建一个简单的 Mobject(例如,一个圆形),然后对其进行旋转。
from manim import *class RotateExample(Scene):def construct(self):self.camera.background_color='#003311'# 创建一个圆形 Mobjectcircle = Line(start=[0, 0, 0],end=[3,2,0]).set_color(RED)# 将圆形添加到场景中self.play(Create(circle))# 定义旋转的参数angle = PI / 2 # 旋转90度(π/2弧度)axis = np.array([0, 0, 1]) # 绕Z轴旋转about_point = [0, 0, 0] # 旋转中心为原点about_edge = None # 不使用边界框的点# 创建旋转动画rotate_animation