Geometry¶
TipableVMobject¶
-
class
manimlib.mobject.geometry.
TipableVMobject
(**kwargs)¶ 可以带箭头的物体(实现了和箭头tip有关的方法)
tip_length
: 默认的箭头长度(默认为0.35)tip_style
: 默认的箭头样式(默认有填充无线条)
-
add_tip
(tip_length=None, at_start=False)¶ 添加箭头
tip_length
: 强制箭头长度(不填则为默认长度)at_start
: True时在开头添加箭头,反之在结尾(默认为False在末尾)
-
create_tip
(tip_length=None, at_start=False)¶ 返回箭头,参数同
add_tip
-
get_tip
()¶ 返回第一个tip,如果没有则抛出异常
-
get_tips
()¶ 返回一个包含首尾tips的VGroup,没有则为空
-
get_unpositioned_tip
(tip_length=None)¶ 返回没有定位的箭头,参数只有
tip_length
-
pop_tips
()¶ 删除并返回
tips
Arc¶
ArcBetweenPoints¶
-
class
manimlib.mobject.geometry.
ArcBetweenPoints
(start, end, angle=1.5707963267948966, **kwargs)¶ 在两点之间的圆弧
传入
start, end
表示起点终点,angle
表示圆心角其余关键字参数同
Arc
CurvedArrow¶
-
class
manimlib.mobject.geometry.
CurvedArrow
(start_point, end_point, **kwargs)¶ 弯曲的单向箭头
从
start_point
到end_point
的弯曲箭头,圆心角为90°其余关键字参数同
Arc
CurvedDoubleArrow¶
-
class
manimlib.mobject.geometry.
CurvedDoubleArrow
(start_point, end_point, **kwargs)¶ 弯曲的双向箭头
从
start_point
到end_point
的弯曲双向箭头,圆心角为90°其余关键字参数同
Arc
Circle¶
Dot¶
-
class
manimlib.mobject.geometry.
Dot
(point=array([0.0, 0.0, 0.0]), **kwargs)¶ 点(半径默认为0.08)
传入参数
point
表示点的位置,其余同Arc
SmallDot¶
-
class
manimlib.mobject.geometry.
SmallDot
(point=array([0.0, 0.0, 0.0]), **kwargs)¶ 小点(半径默认为0.04)
传入参数
point
表示点的位置,其余同Arc
AnnularSector¶
-
class
manimlib.mobject.geometry.
AnnularSector
(start_angle=0, angle=1.5707963267948966, **kwargs)¶ 扇环
inner_radius
: 内圆半径outer_radius
: 外圆半径其余同
Arc
传入
start_angle
表示起始的角度,angle
表示圆心角radius
: 圆弧半径num_components
: 数越大越精细arc_center
: 圆弧的中心
Sector¶
-
class
manimlib.mobject.geometry.
Sector
(start_angle=0, angle=1.5707963267948966, **kwargs)¶ 扇形
即内圆半径为0的扇环
传入
start_angle
表示起始的角度,angle
表示圆心角radius
: 圆弧半径num_components
: 数越大越精细arc_center
: 圆弧的中心
Annulus¶
-
class
manimlib.mobject.geometry.
Annulus
(**kwargs)¶ 圆环
inner_radius
: 内圆半径outer_radius
: 外圆半径其余同
Circle
(Arc
)
参数同
Arc
,半径使用radius
(来自Arc
)
Line¶
-
class
manimlib.mobject.geometry.
Line
(start=array([- 1.0, 0.0, 0.0]), end=array([1.0, 0.0, 0.0]), **kwargs)¶ 直线
传入
start, end
为线段起点终点buff
: 为两端距离start,end
的距离(默认为0)path_arc
: 如果有此关键字参数,则使用ArcBetweemPoints
,path_arc
表示角度
-
get_angle
()¶ 获取直线倾斜角
-
get_slope
()¶ 获取直线斜率
-
get_unit_vector
()¶ 获取直线方向上的单位向量
-
get_vector
()¶ 获取直线的方向向量
-
put_start_and_end_on
(start, end)¶ 把直线的首尾放在
start, end
上
-
set_angle
(angle)¶ 设置直线倾斜角为
angle
-
set_length
(length)¶ 缩放到
length
长度
-
set_opacity
(opacity, family=True)¶ 设置
fill
、stroke
和background_stroke
的不透明度
-
set_path_arc
(new_value)¶ 设置
path_arc
DashedLine¶
-
class
manimlib.mobject.geometry.
DashedLine
(*args, **kwargs)¶ 虚线
使用
DashedVMobject
dash_length
: 每段虚线的长度,默认为0.05
TangentLine¶
-
class
manimlib.mobject.geometry.
TangentLine
(vmob, alpha, **kwargs)¶ 切线
传入
vmob
表示需要做切线的物体,alpha
表示切点在vmob
上的比例length
: 切线长度d_alpha
: 精细程度,越小越精细(默认1e-6)
Arrow¶
Vector¶
-
class
manimlib.mobject.geometry.
Vector
(direction=array([1.0, 0.0, 0.0]), **kwargs)¶ 向量
即起点为ORIGIN的箭头,终点为
direction
buff
默认设为了0
CubicBezier¶
-
class
manimlib.mobject.geometry.
CubicBezier
(points, **kwargs)¶ 三阶贝塞尔曲线
传入
points
表示构成贝塞尔曲线的点集