本页面涵盖了 ManimGL 中的核心几何对象,包括点、线、曲线和各种形状。这些对象构成了数学可视化的基础构建块,让您能够创建从简单的图表到复杂的动画。有关可与这些对象配合使用的坐标系统,请参阅 坐标系统。
ManimGL 的几何对象以层次结构组织,大多数几何形状都继承自 VMobject(矢量化 mobject)。几何形状最重要的基类是 TipableVMobject,它提供了可添加尖端的对象的功能。
来源: manimlib/mobject/geometry.py46-1081
圆点(Dot)是小的圆形对象,通常用于标记空间中的点。
Dot 类代表一个半径默认为 0.08 个单位的小圆。
还有一个更小的变体 SmallDot 类,其半径默认为 0.04 个单位。
来源: manimlib/mobject/geometry.py325-354
Line 类在两点之间创建一条直线。
关键属性和方法
get_length():返回线的长度get_angle():以弧度为单位返回线的角度set_length(length):将线缩放到特定长度set_angle(angle):将线旋转到特定角度Arrow 类创建一条在末端带有箭头的线。
Vector 类提供了一种更简单的方法来创建从原点开始的箭头。
对于曲线箭头,请使用 CurvedArrow 类。
来源: manimlib/mobject/geometry.py446-910
Arc 类创建圆的一部分(弧)。
Circle 类创建一个完整的圆。
圆的关键方法包括:
surround(mobject, buff=MED_SMALL_BUFF):将圆调整大小以环绕一个 mobject。point_at_angle(angle):返回圆上某个角度的点。get_radius():返回圆的半径。Ellipse 类创建一个椭圆形状。
来源: manimlib/mobject/geometry.py205-366
Sector 类创建扇形(像披萨片)。
Annulus 类创建环形(带孔的圆)。
AnnularSector 类创建环的扇形。
来源: manimlib/mobject/geometry.py369-443
Polygon 类根据顶点列表创建多边形。
主要方法包括
get_vertices():返回多边形的顶点。round_corners(radius):创建一个带有圆角的 T 新多边形。RegularPolygon 类创建具有指定边数的正多边形。
Rectangle 类创建矩形,而 Square 类创建正方形。
来源: manimlib/mobject/geometry.py925-1081
CubicBezier 类创建由四个点定义的贝塞尔曲线。
ParametricCurve 类根据参数函数创建曲线。
来源: manimlib/mobject/geometry.py912-922 manimlib/mobject/functions.py17-68
所有几何对象都继承自 VMobject 的方法,这些方法允许进行定位和变换。
所有几何对象都可以使用以下方法进行样式设置:
ManimGL 还提供 3D 几何对象。
关键的 3D 对象包括:
Sphere:一个可自定义半径的 3D 球体。Torus:一个甜甜圈形状。Cylinder:一个具有可自定义高度和半径的圆柱体。Cone:一个圆锥形状。Cube:一个 3D 立方体。Prism:一个具有可自定义尺寸的长方体。来源: manimlib/mobject/three_dimensions.py93-414
组合:使用 VGroup 将多个几何对象组合成一个单元,以便一起进行变换。
相对定位:使用 next_to()、align_to() 和 move_to() 等方法将对象相对于彼此定位。
变换:应用 rotate()、scale() 和 shift() 等变换来操作对象。
样式:使用 set_stroke()、set_fill() 和 set_style() 来自定义对象的外观。
坐标系统:为了精确放置,请考虑使用 Axes 或 NumberPlane 等坐标系统。
自定义形状:对于复杂形状,您可以
VGroup 组合多个基本形状。Polygon。ParametricCurve 来创建数学曲线。VMobject 的自定义类。| 属性 | 描述 | 示例值 |
|---|---|---|
stroke_color | 轮廓颜色 | WHITE |
stroke_width | 轮廓宽度 | 2.0 |
fill_color | 内部颜色 | BLUE |
fill_opacity | 内部不透明度(0-1) | 0.7 |
width | 对象宽度 | 2.0 |
height | 对象高度 | 1.0 |
radius | 半径(用于圆、弧) | 1.0 |
angle | 角度(用于弧、扇形),以弧度为单位 | PI/2 |
来源: manimlib/mobject/types/vectorized_mobject.py manimlib/mobject/geometry.py