ArcPolygon¶
限定名称: manim.mobject.geometry.arc.ArcPolygon
- class ArcPolygon(*vertices, angle=0.7853981633974483, radius=None, arc_config=None, **kwargs)[source]¶
基础类:
VMobject一个允许点通过弧线连接的广义多边形。
此版本尝试尽量接近
Polygon的使用方式。点可以直接传递给它,用于生成相应的弧线(使用ArcBetweenPoints)。可以传递一个角度或半径以用于所有弧线,但要单独配置弧线,必须传递一个arc_config列表,其语法如下所述。- Parameters:
顶点 (Point3D) – 顶点列表,弧段的起点和终点。
angle (float) – 用于构建弧线的角度。如果没有设置其他参数,则使用此角度来构建所有弧线。
radius (float | None) – 用于构建圆弧的圆半径。如果指定,将覆盖指定的
angle。arc_config (list[dict] | None) – 当传递一个
dict时,其内容将作为关键字参数传递给ArcBetweenPoints。否则,可以传递一个包含值的字典列表,这些值将作为每个单独弧的关键字参数传递。kwargs – 传递给
VMobject构造函数的其他关键字参数。
- arcs¶
由输入参数创建的弧线:
>>> from manim import ArcPolygon >>> ap = ArcPolygon([0, 0, 0], [2, 0, 0], [0, 2, 0]) >>> ap.arcs [ArcBetweenPoints, ArcBetweenPoints, ArcBetweenPoints]
- Type:
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_overridescolordepthmobject的深度。
fill_color如果有多种颜色(用于渐变),则返回第一个颜色
heightmobject的高度。
n_points_per_curvesheen_factorstroke_colorwidthmobject的宽度。