|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 学渣李某人 于 2021-7-7 18:45 编辑
0. 介绍
Python中可用于数据可视化的库有很多, 比如matplotlib和seaborn(plotly, pyechart...), 但专门用于进行数学演示方面的库却仅有一个: Manim, 既Mathematical Animation Engine(数学动画引擎)
- 用manim可以实现的图形有: 多边形(正多边形, 矩形...), 园(圆弧, 圆环, 扇形...), 线段(曲线, 箭头...), 曲面, 函数曲线, 坐标系(数轴)等
- 用manim可以实现的动画有: 变换(线性, 非线性), 绘制(淡入, 移入, 写入...), 擦除等
1. 安装Manim
但, manim一直广为诟病的是它极难安装, 不过已经有大佬造过轮子了: github manim中文社区fork的包
安装流程:
0. 推荐使用conda或virtualvenv创建虚拟环境, 嫌麻烦的可以跳过
conda:conda create -n manim python=3.6
virtualvenv:
1. 以zip形式下载上面的包
2. 下载ffmpeg 安装教程
3. 下载以下的库
- argparse
- colour
- numpy
- Pillow
- progressbar
- scipy
- tqdm
- opencv-python
- pycairo
- pydub
- pygments
- pyreadline
requirement.txt版:argparse
colour
numpy
Pillow
progressbar
scipy
tqdm
opencv-python
pycairo
pydub
pygments
pyreadline; sys_platform == 'win32'
安装pycairo有没有报错? 没有的可以继续了, 有的请去这个连接下载whl文件, 并在文件位置运行这条命令
4. 下载latex
5. 更改环境变量, 加入ffmpeg的路径
6. 解压第1部中的zip文件, 放入python路径下的Lib/site-packages中, 然后把除了manim.py, manimlib, example_scenes.py, assets, from_3b1b以外的文件都删除
manimlib就是manim的核心, from_3b1b是这个库发明者的代码, 很有学习价值, assets是静态文件, manim.py是编译器, example_scenes.py是实例
7. 进入虚拟环境(如果进行了步骤0的话)并运行python -m manim example_scenes.py SquareToCircle -p
如果出现了一段编译的进度条, 然后播放了一段视频, 并出现了一个media文件夹的话, 那么恭喜, Manim已经安装成功了!
2. Manim教程
使用Manim生成动画格式如下:python -m manim [文件名] [场景名] [质量] [是否预览]
文件名是py文件的名字
场景名是类名
质量分为480p和1440p(这两个常用), 不填默认1440p, 需要480p的这里填 -ql 就是quality low的简称
是否预览就是生成后是否直接播放, 预览填 -p , 否则不填即可
因为我文笔不是很好, 所以我放一些别人写的教程:
3. 重点
1. 同时播放多个动画, 只需在self.play()中加入多个动画作为参数即可; ApplyMethod不能同时播放多个, 只有最后一个会生效
2. 如果嫌self.play(ApplyMethod(...))这样写太长的话, 也可以直接省略ApplyMethod
3. VGroup是一个可以存储MObject的对象, 它支持索引
4. Manim支持继承, 只要不覆盖run方法就没问题, 只有目标类的construct会被执行
我级别不够, 就不加回帖奖励了 |
|