Manim教程:第五章 动画对象 ——【上】

5.1 Arc

        在Manim中,Arc(弧)是一种重要的Mobject,用于表示曲线形状,尤其是圆弧。Arc对象的主要功能是创建与数学和几何相关的视觉元素,使得动画中的概念更具表现力和直观性。

Arc通常由起始角度、终止角度和半径定义。这使得用户能够灵活地控制弧的形状和大小。例如,用户可以通过指定不同的角度范围来创建部分圆弧,或通过调整半径来改变弧的弯曲程度。这种灵活性使得Arc在表示各种数学概念时非常有用,比如在展示三角函数、圆的性质、以及与角度相关的几何题时。

from manim import *

class UsefulAnnotations(Scene):
    def construct(self):
        m0 = Dot()
        m1 = AnnotationDot()
        m2 = LabeledDot("ii")
        m3 = LabeledDot(MathTex(r"\alpha").set_color(ORANGE))
        m4 = CurvedArrow(2*LEFT, 2*RIGHT, radius= -5)
        m5 = CurvedArrow(2*LEFT, 2*RIGHT, radius= 8)
        m6 = CurvedDoubleArrow(ORIGIN, 2*RIGHT)

        self.add(m0, m1, m2, m3, m4, m5, m6)
        for i, mobj in enumerate(self.mobjects):
            mobj.shift(DOWN * (i-3))

         在动画中,Arc可以与其他Mobject结合使用,创造出丰富的视觉效果。例如,可以通过动画使得Arc逐渐展开,或是与其他图形(如直线、点)交互,帮助观众理解动态变化的过程。此外,Arc还可以用于构建更复杂的形状,如螺旋线或其他曲线图形,进一步增强了Manim在数学教育和演示方面的能力。

  总之,Arc作为一种曲线Mobject,不仅在视觉上吸引观众,还在教育上帮助他们理解和掌握复杂的数学概念。通过简单的参数设置和动画效果,Arc能够有效地传达信息,是Manim中不可或缺的组成部分。

 5.1.1.标注点(AnnotationDot)

具有较大半径和粗体笔触的点,用于注释场景。

class AnnotationDot(radius=0.10400000000000001, stroke_width=5, 
stroke_color=ManimColor('#FFFFFF'), 
fill_color=ManimColor('#58C4DD'), **kwargs)

 实例代码:

from manim import *
class AnnotationDot2(Scene):
    def construct(self):
        self.camera.background_color =BLACK
        #dot = AnnotationDot(radius=1, stroke_width=20, stroke_color=WHITE, fill_color=RED)
        dot01 = AnnotationDot(radius=0.05, stroke_width=30, stroke_color=WHITE,fill_color=RED)
        self.add(dot01)
        #self.play(Create(dot))
        self.wait(1)

运行结果:

参数:

  • 半径float):小点的半径,stroke_width (float):外圈的颜色

  • stroke_color("Manim的颜色"):外圈的颜色,fill_color ("Manim的颜色"):内圈的颜色

from manim import *

class AnnularSectorExample(Scene):
    def construct(self):
        
        self.camera.background_color = WHITE

       axis.
        s1 = AnnularSector(color=YELLOW).move_to(2 * UL)

        
        s2 = AnnularSector(inner_radius=1.5, outer_radius=2, angle=45 * DEGREES, color=RED).move_to(2 * UR)

        AnnularSector is transparent.
        s3 = AnnularSector(inner_radius=1, outer_radius=1.5, angle=PI, fill_opacity=0.25, color=BLUE).move_to(2 * DL)

        the start value.
        s4 = AnnularSector(inner_radius=1, outer_radius=1.5, angle=-3 * PI / 2, color=GREEN).move_to(2 * DR)

        se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yasen.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值