Manim作图结构基本初探
目录
结构解释
1、导包
2、功能类名
3、构造函数
整体理解
大体结构
先看一下Manim作图的大体代码结构
from manim import *class Class_Name(Scene):def construct(self):...
结构解释
1、导包
from manim import *
这是 导入整个 manim 模块的功能,也就是说你将可以使用 manim
提供的所有类和函数(比如 Scene
, Square
, Circle
, Text
, Create
, Write
等等)。上述导包方式是一种快速导入方式,但在大型项目中,更推荐只导入你真正使用的部分,比如:
from manim import Scene, Square, Create
2、功能类名
Class_Name是自定义的类名,一般要能体现需要实现的动画场景(见名知意)。
例如:DrawSquare(画正方形),DrawSquare(Scence)表示继承了 manim
的 Scene
类。大体含义是:
创建一个动画场景,这个场景功能是画个正方形,它具备
Scene
这个父类的所有功能(比如播放动画、添加图形等)
在manim中,继承场景有很多种,比如 :
使用目的 | 推荐类 |
---|---|
普通 2D 动画 | Scene |
相机移动 | MovingCameraScene |
3D 动画 | ThreeDScene |
局部放大 | ZoomedScene |
向量空间/线性变换 | LinearTransformationScene |
分章节渲染 | Section |
导出视频/帧 | SceneFileWriter |
3、构造函数
def construct(self):
它是一个构造函数, 是 manim 中每个场景执行动画的起点!所有动画必须位于从 Scene
派生的类的 construct()
方法中。其他代码,例如辅助函数或数学函数,可以位于类之外。
整体理解
代码 | 含义 |
---|---|
from manim import * | 导入 manim 库的所有功能 |
class DrawSquare(Scene): | 定义一个动画场景类,名叫做 DrawSquare ,继承自 Scene 类 |
def construct(self): | 定义这一幕戏的“开始”,manim 会从这里开始运行动画逻辑 |
(空着的内容) | 目前啥也没干,需要你继续填上“画正方形”的动作! |