ArcPolygon¶
合格名称: manim.mobject.geometry.arc.ArcPolygon
- class ArcPolygon(*vertices, angle=0.7853981633974483, radius=None, arc_config=None, **kwargs)[源代码]¶
基类:
VMobject
一种广义多边形,允许点之间用弧线连接。
这个版本力求与
Polygon
的使用方式保持一致。可以直接将点传递给它,这些点用于生成相应的弧(使用ArcBetweenPoints
)。可以传递一个角度或半径参数以用于所有弧,但要单独配置弧,必须传递一个 `arc_config` 列表,其语法如下所述。- 参数:
vertices (Point3DLike) – 顶点的列表,作为弧段的起点和终点。
angle (float) – 用于构建弧的角度。如果未设置其他参数,此角度将用于构建所有弧。
radius (float | None) – 用于构建弧的圆半径。如果指定,将覆盖指定的
angle
。arc_config (list[dict] | None) – 当传递一个
dict
时,其内容将作为关键字参数传递给ArcBetweenPoints
。否则,可以传递一个包含值(作为每个独立弧的关键字参数传递)的字典列表。kwargs (Any) – 传递给
VMobject
构造函数的其他关键字参数。
- arcs¶
由输入参数创建的弧。
>>> from manim import ArcPolygon >>> ap = ArcPolygon([0, 0, 0], [2, 0, 0], [0, 2, 0]) >>> ap.arcs [ArcBetweenPoints, ArcBetweenPoints, ArcBetweenPoints]
- 类型:
列表 (list)
提示
ArcPolygon
的两个实例也可以相互正确地转换。请注意,任何用angle=0
初始化的弧实际上将是一条直线,因此如果直线段需要无缝地转换为弧形段,反之亦然,请使用一个可忽略的角度(例如angle=0.0001
)来初始化直线段。注意
还有另一个版本(
ArcPolygonFromArcs
),它是用预定义的弧实例化的。另请参阅
示例
示例: SeveralArcPolygons ¶
from manim import * class SeveralArcPolygons(Scene): def construct(self): a = [0, 0, 0] b = [2, 0, 0] c = [0, 2, 0] ap1 = ArcPolygon(a, b, c, radius=2) ap2 = ArcPolygon(a, b, c, angle=45*DEGREES) ap3 = ArcPolygon(a, b, c, arc_config={'radius': 1.7, 'color': RED}) ap4 = ArcPolygon(a, b, c, color=RED, fill_opacity=1, arc_config=[{'radius': 1.7, 'color': RED}, {'angle': 20*DEGREES, 'color': BLUE}, {'radius': 1}]) ap_group = VGroup(ap1, ap2, ap3, ap4).arrange() self.play(*[Create(ap) for ap in [ap1, ap2, ap3, ap4]]) self.wait()
class SeveralArcPolygons(Scene): def construct(self): a = [0, 0, 0] b = [2, 0, 0] c = [0, 2, 0] ap1 = ArcPolygon(a, b, c, radius=2) ap2 = ArcPolygon(a, b, c, angle=45*DEGREES) ap3 = ArcPolygon(a, b, c, arc_config={'radius': 1.7, 'color': RED}) ap4 = ArcPolygon(a, b, c, color=RED, fill_opacity=1, arc_config=[{'radius': 1.7, 'color': RED}, {'angle': 20*DEGREES, 'color': BLUE}, {'radius': 1}]) ap_group = VGroup(ap1, ap2, ap3, ap4).arrange() self.play(*[Create(ap) for ap in [ap1, ap2, ap3, ap4]]) self.wait()
更多示例请参阅
ArcPolygonFromArcs
。方法
属性
animate (动画)
用于动画化
self
的任何方法的应用。animation_overrides (动画覆盖)
颜色
depth (深度)
mobject 的深度。
fill_color (填充颜色)
如果存在多种颜色(用于渐变),则返回第一种颜色
height (高度)
mobject 的高度。
n_points_per_curve (每条曲线的点数)
sheen_factor (光泽因子)
stroke_color (描边颜色)
width (宽度)
mobject 的宽度。
- _original__init__(*vertices, angle=0.7853981633974483, radius=None, arc_config=None, **kwargs)¶
初始化自身。有关准确签名,请参阅 help(type(self))。
- 参数:
vertices (Point3DLike)
angle (float)
radius (float | None)
arc_config (list[dict] | None)
kwargs (Any)
- 返回类型:
无