Manim教程:第六章 动画对象的表达 ——【中】

6.15.ArrowTip

        这是所有箭头指示器的基类,其他箭头指示器都是从这个基类派生出来的。这个类定义了箭头的基本特性和行为。构造函数如下:

ArrowTip(*args, **kwargs)

 示例1:

from manim import *

class ArrowTipsShowcase(Scene):
    def construct(self):
        tip_names = [
            'Default (YELLOW)', 'ArrowTriangleTip', 'Default', 'ArrowSquareTip',
            'ArrowSquareFilledTip', 'ArrowCircleTip', 'ArrowCircleFilledTip', 'StealthTip'
        ]

        big_arrows = [
            Arrow(start=[-4, 3.5, 0], end=[2, 3.5, 0], color=YELLOW),
            Arrow(start=[-4, 2.5, 0], end=[2, 2.5, 0], tip_shape=ArrowTriangleTip),
            Arrow(start=[-4, 1.5, 0], end=[2, 1.5, 0]),
            Arrow(start=[-4, 0.5, 0], end=[2, 0.5, 0], tip_shape=ArrowSquareTip),

            Arrow([-4, -0.5, 0], [2, -0.5, 0], tip_shape=ArrowSquareFilledTip),
            Arrow([-4, -1.5, 0], [2, -1.5, 0], tip_shape=ArrowCircleTip),
            Arrow([-4, -2.5, 0], [2, -2.5, 0], tip_shape=ArrowCircleFilledTip),
            Arrow([-4, -3.5, 0], [2, -3.5, 0], tip_shape=StealthTip)
        ]

        small_arrows = (
            arrow.copy().scale(0.5, scale_tips=True).next_to(arrow, RIGHT) for arrow in big_arrows
        )

        labels = (
            Text(tip_names[i], font='monospace', font_size=20, color=BLUE).next_to(big_arrows[i], LEFT) for i in range(len(big_arrows))
        )

        self.add(*big_arrows, *small_arrows, *labels)

 运行结果:

 6.16.ArrowCircleFilledTip

这是一个圆形的箭头指示器,尖端是填充的,通常用于需要视觉上突出箭头指向的情况。

构造函数如下:

#构造函数
ArrowCircleFilledTip(fill_opacity=1, stroke_width=0, **kwargs)[source]

ArrowCircleFilledTip 是一个用于创建填充圆形箭头指示器的类。它的构造函数接受几个参数,下面是对这些参数的解释:

  • fill_opacity: 这个参数指定箭头填充的透明度,取值范围通常是从 0(完全透明)到 1(完全不透明)。默认值是 1,这意味着箭头将完全填充。

  • stroke_width: 这个参数控制箭头边缘的线宽,如果设置为 0,箭头将没有边框。默认值是 0,意味着没有描边。

  • **kwargs: 这个参数允许你传入其他任意关键字参数,这使得类在初始化时更加灵活,可以接受其他未明确列出的参数。

 示例1:

from manim import *  

class ArrowCircleFilledTip001(Scene):  
    def construct(self):  
        self.add(NumberPlane())  

        # 创建箭头并使用arrow_tip_shape作为尖端  
        arrow = Arrow(start=[-2, -2, 0], end=[2, 2.5, 0], color=YELLOW,tip_shape=ArrowCircleFilledTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

运行结果: 

 6.17.ArrowCircleTip

        同样是圆形箭头指示器,但尖端没有填充,这使得它看起来更加简洁,适用于较为简约的视觉风格。

ArrowCircleTip 是 Manim 中的一个类,专门用于创建带有圆形尖端的箭头指示器。这个类允许你自定义箭头尖端的外观。

#构造函数
ArrowCircleTip(fill_opacity=0, stroke_width=3, length=0.35, 
start_angle=3.141592653589793, **kwargs)[source]
参数解释
  1. fill_opacity:

    • 类型: 浮点数
    • 描述: 设置箭头尖端的填充透明度。值的范围是从 0(完全透明)到 1(不透明)。
  2. stroke_width:

    • 类型: 整数或浮点数
    • 描述: 设置尖端边框的宽度。
  3. length:

    • 类型: 浮点数
    • 描述: 设置箭尖端的半径或长度,通常与箭头的大小相关。
  4. start_angle:

    • 类型: 浮点数
    • 描述: 设置尖端开始绘制的角度,通常使用弧度表示。3.141592653589793 是 π,表示尖端的初始绘制角度为 180 度。
  5. **kwargs:

    • 描述: 允许传递额外的关键字参数,通常用于其他绘图属性,如颜色等。
示例:
from manim import *  

class ArrowCircleFilledTip011(Scene):  
    def construct(self):  
        self.add(NumberPlane())  

        # 创建箭头并使用arrow_tip_shape作为尖端  
        arrow = Arrow(start=[-2, -2, 0], end=[2, 2.5, 0], color=RED,tip_shape=ArrowCircleTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

 运行结果:

6.18.ArrowSquareFilledTip 

        是 Manim 中用于创建带有填充的方形箭头尖端的类。这里是该类构造函数的一些关键参数的解释:

#构造函数
ArrowSquareFilledTip(fill_opacity=1, stroke_width=0, **kwargs)
参数解释
  1. fill_opacity:

    • 类型: float
    • 描述: 设置尖端的填充透明度。1 表示完全不透明 (完全填充),0 表示完全透明 (无填充)。使用 1 会使尖端显示为填充的方形。
  2. stroke_width:

    • 类型: float
    • 描述: 设置尖端边框的宽度。0 意味着没有边框,因此尖端外部不会有可见轮廓。
  3. kwargs:

    • 描述: 关键词参数,可以传递给父类或其他设置,允许用户自定义更多的样式和特性。

 示例:

from manim import *  

class ArrowSquareFilledTipExample01(Scene):  
    def construct(self):  
        self.add(NumberPlane())  

        # 创建箭头并使用arrow_tip_shape作为尖端  
        arrow = Arrow(start=[-2, -2, 0], end=[2, 2.5, 0], color=RED,tip_shape=ArrowSquareFilledTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

运行结果: 

  6.19.ArrowSquareTip

构造函数:

ArrowSquareTip(fill_opacity=0, stroke_width=3, length=0.35, 
start_angle=3.141592653589793, **kwargs)[source]

ArrowSquareTip 是 Manim 中用于创建一种方形箭头尖端的类,可以通过该类来为箭头添加方形的尖端。这个类的构造函数包含多个参数,允许用户自定义箭头尖端的外观。

参数详解

  1. fill_opacity:

    • 类型:float
    • 默认值:0
    • 描述:尖端的填充不透明度。值范围从 0(完全透明)到 1(完全不透明)。当设置为 0 时,尖端是透明的;若设置为 1,尖端将完全填充颜色。
  2. stroke_width:

    • 类型:float
    • 默认值:3
    • 描述:尖端边缘的宽度。这决定了边框的可见性和粗细。
  3. length:

    • 类型:float
    • 默认值:0.35
    • 描述:尖端的长度。通过调整这个值,可以改变箭头尖端的长度。
  4. start_angle:

    • 类型:float
    • 默认值:3.141592653589793(这实际上是圆周的π,约为180°)
    • 描述:尖端的起始角度,以弧度表示。这个值决定了尖端的方向。
  5. **kwargs:

    • 描述:其他可选的关键字参数,通常用于传递给父类的构造函数或用于进一步定制 ArrowSquareTip 对象的外观。
 示例:
from manim import *  

class ArrowSquareTipExample01(Scene):  
    def construct(self):  
        self.add(NumberPlane())  

        # 创建箭头并使用arrow_tip_shape作为尖端  
        arrow = Arrow(start=[-2, -2, 0], end=[2, 2.5, 0], color=RED,tip_shape=ArrowSquareTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

 运行结果:

 6.20.ArrowTriangleFilledTip

        这是一个三角形的箭头指示器,尖端是填充的,通常用于需要强调方向感或指向性的视觉效果。构造函数如下:

ArrowTriangleFilledTip(fill_opacity=1, stroke_width=0, **kwargs)

ArrowTriangleFilledTip 是一个图形绘制函数,通常用于在图形中添加带填充的箭头三角形尖端。虽然具体实现可能依赖于特定的图形库(如 Matplotlib、Pygame 等),但根据参数的命名规则,我们可以推测其功能和参数含义。

参数解释
  1. fill_opacity:

    • 这个参数通常用于控制填充颜色的透明度。值的范围通常是从 0(完全透明)到 1(完全不透明)。在这个例子中,fill_opacity=1 表示箭头三角形将是完全不透明的。
  2. stroke_width:

    • 这个参数控制边框的宽度。stroke_width=0 表示没有边框,即箭头三角形的边缘不会有任何线条。
  3. kwargs:

    • 这个参数表示可变关键字参数,允许用户传入其他自定义参数。这些参数的具体意义取决于函数的实现和使用的图形库。常见的额外参数可能包括颜色、位置、大小等。
 示例:
from manim import *  

class ArrowTriangleFilledTip01(Scene):  
    def construct(self):  
        self.add(NumberPlane())  

        # 创建箭头并使用arrow_tip_shape作为尖端  
        arrow = Arrow(start=[-2, -2, 0], end=[2, 2.5, 0], color=RED,tip_shape=ArrowTriangleFilledTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Yasen.M

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

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

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

打赏作者

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

抵扣说明:

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

余额充值