Bootstrap

Manim中的箭头指示器【tips】

Manim中的箭头指示器【tips】

这些内容主要涉及一个关于箭头指示器的集合,具体用于与名为 TipableVMobject 的对象结合使用。下面是对每种箭头形状的具体解释

0.介绍

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

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

  3. ArrowSquareFilledTip:这是一个方形的箭头指示器,尖端是填充的,通常提供更加方正的视觉效果,适合于强调某些方向或路径。

  4. ArrowSquareTip:方形箭头指示器,尖端没有填充,保持简洁明了,适用于需要明确但不突出强调的场合。

  5. ArrowTip:这是所有箭头指示器的基类,其他箭头指示器都是从这个基类派生出来的。这个类定义了箭头的基本特性和行为。

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

  7. ArrowTriangleTip:三角形箭头指示器,尖端没有填充,提供一种简约、干净的指示效果。

  8. StealthTip:这种箭头指示器具有特殊的“隐形”设计,形状类似于战斗机或风筝的箭头,通常用于现代或技术感强的设计中。

这些类各自提供了不同形状和样式的箭头指示器,方便设计师在创建图形时根据需要选择合适的箭头类型。

1.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)

 运行结果:

 2.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)

运行结果: 

 3.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)

 运行结果:

 

4.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)

运行结果: 

  5.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.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)

运行结果:

 7.ArrowTriangleTip

三角形箭头指示器,尖端没有填充,提供一种简约、干净的指示效果。构造函数如下:

ArrowTriangleTip(fill_opacity=0, stroke_width=3, length=0.35, width=0.35,
 start_angle=3.141592653589793, **kwargs)

ArrowTriangleTip 函数通常用于绘制一个箭头三角形的尖端,常见于图形绘制库中(例如 Matplotlib、Pygame 等)。下面是对该函数及其参数的详细解释:

参数解释

  1. fill_opacity:

    • 类型:浮点数(float)
    • 解释:控制填充颜色的透明度。取值范围通常是从 0(完全透明)到 1(完全不透明)。在这个例子中,fill_opacity=0 表示箭头三角形是完全透明的,即没有填充颜色。
  2. stroke_width:

    • 类型:浮点数(float)
    • 解释:控制三角形边框的宽度。stroke_width=3 表示边框的宽度为 3 个单位。边框的颜色通常通过其他参数指定。
  3. length:

    • 类型:浮点数(float)
    • 解释:控制箭头三角形的长度。length=0.35 指定了三角形尖端的长度,具体单位可能依赖于绘图的上下文。
  4. width:

    • 类型:浮点数(float)
    • 解释:控制箭头三角形的宽度。width=0.35 指定了三角形的基部宽度。
  5. start_angle:

    • 类型:浮点数(float)
    • 解释:控制箭头三角形的起始角度,通常以弧度表示。start_angle=3.141592653589793(约等于 π)表示三角形的起始角度为 180 度(即朝左)。
  6. kwargs:

    • 类型:可变关键字参数
    • 解释:允许用户传入其他自定义参数,这些参数的具体意义取决于函数的实现和上下文。常见的额外参数包括颜色、位置、旋转角度等。
 示例:
from manim import *  

class ArrowTriangleTip01(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=ArrowTriangleTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

运行结果:

 8.StealthTip

        这种箭头指示器具有特殊的“隐形”设计,形状类似于战斗机或风筝的箭头,通常用于现代或技术感强的设计中。构造函数如下:

StealthTip(fill_opacity=1, stroke_width=3, length=0.175, 
start_angle=3.141592653589793, **kwargs)

StealthTip 函数通常用于绘制一种特定风格的箭头尖端,常见于图形绘制库(例如 Matplotlib、Pygame 等)。这种箭头尖端通常被称为“隐形箭头”或“隐秘箭头”,常用于图形表示中,以提高视觉效果。以下是对该函数及其参数的详细解释:

参数解释

  1. fill_opacity:

    • 类型:点数float)
    • 解释:控制箭头尖端填充颜色的透明度。取值范围通常为 0(完全透明)到 1(完全不透明)。在这个例子中,fill_opacity=1 表示箭头尖端完全不透明,即填充颜色是可见的。
  2. stroke_width:

    • 类型:浮点数(float)
    • 解释:控制箭头尖端边框的宽度。stroke_width=3 表示边框宽度为 3 个单位。这会影响箭头的外观,使其看起来更加突出。
  3. length:

    • 类型:浮点数(float)
    • 解释:控制箭头尖端的长度。=0.175 指定了箭头尖端的长度,单位通常依赖于绘图上下文。
  4. start_angle:

    • 类型:浮点数(float)
    • 解释:控制箭头尖端的起始角度,通常用弧度表示。start_angle=3.141592653589793(约等于 π)表示箭头尖端的起始角度为 180 度(即指向左侧)。
  5. kwargs:

    • 类型:可变关键字参数
    • 解释:允许用户传入其他自定义参数,这些参数的具体意义取决于函数的实现和上下文。常见的额外参数可能包括颜色、位置、旋转角度等,具体取决于实现的细节。

 示例:

from manim import *  

class StealthTip01(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=StealthTip)  
        
        # 添加箭头到场景  
        self.play(Create(arrow))  
        self.wait(2)

 运行结果:

;