🏠 Home

下面给出一种 **可阅读、可查阅、可作为字典使用的 Manim 类讲解**。 你给出的继承图包含 **Animation 系列、Camera 系列、Mobject 系列、Scene 系列**。这些类总数非常大,如果逐条硬性解释会变成极长的文档,不利于阅读。因此下面采用: 1. **按功能分类解释整个体系的设计思路与用途** 2. **对每个类给出它的作用、典型使用场景、是否常用** 3. **同一类型中,先解释父类,再解释子类,帮助理解继承结构** 若你之后希望对“某一类”“某一段继承链”“某类用途示例”“按图创造动画”等,我可以继续展开。 --- # 一、Animation 动画类体系讲解 Manim 的 Animation 是所有动画的根类。 动画类的继承链大致分为: ## 1.1 Animation(根类) 所有动画的基类,提供: * 动画持续时间 * 插值方式 * 钩子函数(begin / update / finish) 多数子类只需要实现 `interpolate_mobject`。 --- ## 1.2 Transform 系列(改变物体形状/位置的核心类) ### **Transform** 将一个 Mobject 变换到另一个 Mobject。 常用于移动、形变、交换结构。 ### **ReplacementTransform** 在变换过程中“替换”旧物体。常用于文字替换。 ### **TransformFromCopy** 用复制品开始变换,不影响原对象。 ### **CyclicReplace** 循环交换多个对象位置。 ### **Swap** 两个对象交换。 ### **ApplyMethod** 执行某个 mobject 的方法,如 `ApplyMethod(mob.shift, RIGHT)`。 ### **ApplyFunction** 用函数改变 mobject 上所有点的位置。 ### **ApplyPointwiseFunction / ToCenter** 作用于每个点。ToCenter 是把点位置映射到以中心为基准的变换。 ### **ApplyComplexFunction** 把平面上的点视为复数进行变换。 ### **MoveToTarget** 与 `.generate_target()` 配套,将对象移动到自定义 target。 ### **ClockwiseTransform / CounterclockwiseTransform** 绕中心点的旋转方向。 ### **Rotate** 旋转指定角度。 ### **GrowFromCenter / GrowFromEdge / GrowFromPoint** 从点 / 边 / 中心处“生长”出来。 ### **Indicate / FocusOn** 强调某物体(放大、颜色闪烁)。 ### **FadeTransform / FadeTransformPieces** 伴随淡出与淡入的变换。 --- ## 1.3 Create 与 ShowPartial 系列(绘制路径) ### **Create** 沿轮廓绘制一个 VMobject(如文字、公式、线条) ### **Uncreate** Create 的逆过程 ### **ShowPartial / ShowIncreasingSubsets** 逐渐显示子集或路径,用于路径型图形。 --- ## 1.4 Fade 系列(透明度变化) ### **FadeIn / FadeOut** 淡入淡出 ### **FadeToColor** 逐渐变成某种颜色 --- ## 1.5 Boundary / Flash / Wiggle 等效果类 ### **AnimatedBoundary** 显示物体边界的流动光效 ### **Flash** 闪光效果 ### **Wiggle** 轻微抖动强调 --- ## 1.6 群组动画类 ### **AnimationGroup** 多个动画并列执行 ### **Succession** 多个动画按顺序执行 ### **LaggedStart / LaggedStartMap** 对象列表逐个延迟开始动画(如“一组点依次出现”) ### **Broadcast** 波纹扩散效果 --- ## 1.7 数字动画 ### **ValueTracker / ChangingDecimal / ChangeDecimalToValue** 数值随时间改变。 --- ## 1.8 特殊效果类 ### **Homotopy / ComplexHomotopy / ApplyWave** 基于映射函数的高自由度变形 ### **MoveAlongPath** 沿既定路径移动(常用于箭头或点沿曲线移动) ### **SpiralIn** 螺旋入场 ### **Wait** 暂停 --- --- # 二、Camera 摄像机类体系 Camera 负责渲染世界到画面中。 ## **Camera(根类)** 二维摄像机。Scene 默认使用它。 ### **MovingCamera** 允许修改 frame(摄像机视野框) ### **MultiCamera / OldMultiCamera / SplitScreenCamera** 用于将多个画面整合到一个输出里,如分屏效果。 ### **MappingCamera** 把画面映射到某种复杂的变换(如扭曲) ### **ThreeDCamera** 用于 3D 场景(透视投影、旋转等) ### **BackgroundColoredVMobjectDisplayer** 处理背景色图层的渲染 --- --- # 三、Mobject(所有可显示对象的基类) Mobject 是 Manim 场景中“一切可显示物体”的根类。 分成数个大类: # 3.1 VMobject(矢量图对象) Vectorized Mobject,基于路径的可缩放矢量图形。 ## 常见子类: ### **Line / DashedLine / TangentLine** 直线、虚线、切线 ### **Circle / Ellipse / Annulus / Sector** 圆与相关形状 ### **Polygon / Polygram / Star** 多边形结构 ### **Arc / ArcBetweenPoints / ArcPolygon** 弧线结构 ### **Brace / BraceLabel** 用来标注区间的方括号 ### **Arrow / CurvedArrow / DoubleArrow** 箭头 ### **Tex / MathTex** 渲染 LaTeX 公式 ### **Text / MarkupText** 渲染文本(SVG 或 Markup) ### **Table / DecimalTable / MobjectTable** 表格 ### **Axes / NumberPlane / ThreeDAxes / PolarPlane** 坐标系 ### **FunctionGraph / ParametricFunction** 函数图像 ### **Vector / VectorField / StreamLines** 向量与场 ### **Surface / Sphere / Cone / Cylinder / Torus** 曲面与 3D 图形 ### **Dot / Point / PointCloudDot** 点类对象 ### **ValueTracker / ComplexValueTracker / Variable** 数值跟踪器,用于驱动动画 --- # 3.2 Group / VGroup 容器类,把多个 Mobject 组合成一个整体。 --- # 3.3 Image 类 ### **ImageMobject / AbstractImageMobject / ImageMobjectFromCamera** 用位图图像渲染(如 PNG) --- # 3.4 Polyhedron 系列 多面体:Cube、Prism、Tetrahedron、Octahedron、Icosahedron、Dodecahedron --- # 3.5 Figure / Diagram 系类 DiGraph、Graph、SampleSpace 等更特殊的可视化对象。 --- --- # 四、Scene 场景类体系 Scene 是 Manim 的核心执行单元。 ## **Scene(根类)** 负责: * 设置摄像机 * 渲染动画 * 帧管理 --- ## 4.1 Camera 扩展类场景 ### **MovingCameraScene** 使摄像机视野框可移动 ### **ZoomedScene** 带局部放大视野 --- ## 4.2 3D 场景 ### **ThreeDScene** 支持三维摄像机旋转、光照等。 ### **SpecialThreeDScene** 额外的三维效果。 --- ## 4.3 专用数学类场景 ### **VectorScene** 向量投影、线性代数可视化 ### **LinearTransformationScene** 展示线性变换(矩阵作用) --- # 五、总结与使用建议 如果你的目标是: * **做公式演示** → `MathTex` + `Write` + `TransformMatchingTex` * **做图形变换** → `Transform / ReplacementTransform / ApplyMethod` * **制作流程动画** → `AnimationGroup / Succession / LaggedStart` * **绘制曲线** → `ParametricFunction / FunctionGraph` * **做 3D 可视化** → `ThreeDScene + Surface 系列` * **制作坐标系** → `Axes / NumberPlane`

Loading Player...

Downloads