学渣李某人 发表于 2021-7-7 18:15:02

探索数学之美: Python第三方库Manim

本帖最后由 学渣李某人 于 2021-7-7 18:45 编辑

https://raw.githubusercontent.com/3b1b/manim/master/logo/cropped.png

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.6virtualvenv:
virtualenv manim

1. 以zip形式下载上面的包
https://z3.ax1x.com/2021/07/07/RbUSBQ.png
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文件, 并在文件位置运行
pip install 文件名.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 , 否则不填即可

因为我文笔不是很好, 所以我放一些别人写的教程:

[*]中文教程, 比较全
[*]3b1b(Grant Sanderson, Manim作者)的汉化视频, 简单易懂
[*]另一个中文教程
[*]在线manim, 不是很好用


3. 重点

1. 同时播放多个动画, 只需在self.play()中加入多个动画作为参数即可; ApplyMethod不能同时播放多个, 只有最后一个会生效
2. 如果嫌self.play(ApplyMethod(...))这样写太长的话, 也可以直接省略ApplyMethod
3. VGroup是一个可以存储MObject的对象, 它支持索引
4. Manim支持继承, 只要不覆盖run方法就没问题, 只有目标类的construct会被执行



我级别不够, 就不加回帖奖励了

fish_nian 发表于 2021-7-8 08:40:32

{:10_275:}这个模块有意思

xfmiao 发表于 2021-7-8 09:46:29

这是高手

学渣李某人 发表于 2021-7-8 17:07:01

啊! 沉了, 捞一下
有没有试着安装的? win10系统上安装问题应该不大, 没成功可以截图发给我, 一定回
主要是我自已踩了无数坑
页: [1]
查看完整版本: 探索数学之美: Python第三方库Manim