目录
- 背景
- Manim安装及配置
- 一个上手例子
- 参考文献
背景
通过上一期的介绍,我们对Manim有了初步的认识也知道Manim版本的区别,这一期,我们来给自己的计算机安装一个社区版ManimCE,方便以后玩Manim。笔者的硬件配置是联想笔记本Windows 11 家庭中文版系统,其他类似,操作得当的话,半个小时就可以搞定。
Manim安装及配置
- 安装python
建议直接安装Anaconda,因为Anaconda会自带很多python模块,省时省心,如果官网下载太慢,可以从百度网盘等国内资源下下来安装,安装的时候记得勾上环境变量PATH。
https://www.anaconda.com/products/distribution
- 安装FFmpeg
FFmpeg是一款专业处理图片和视频帧的软件。安装FFmpeg记得设置好环境变量,记得配置好环境变量PATH
https://ffmpeg.org/download.html#build-windows
- 安装LaTeX
作为一款数据动画引擎,必然会涉及数学公式,所以LaTeX必不可少
https://miktex.org/download
- 安装Manim
之前介绍说Manim是python的第三方模块,那么就可以直接通过Anaconda Powershell Prompt下的命令进行安装
pip install manim
由于这个命令是直接从PyPI下载安装,外网网络延时很大,如果某个依赖的模块比较大,如笔者在安装scipy库很大就会卡住,这个时候可以直接断开单独从清华源下scipy,然后再继续执行pip install manim。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy
- 检查安装成功否
直接键入manim,会显示Manim Community v0.16.0 post0等版本关键信息,说明Manim安装成功,从这些信息我们可以看到Manim就是用来渲染数学动画的,俗称数学动画引擎。
至此,电脑已经本地成功安装好ManimCE,把上一期python脚本写的生成马鞍面的python文件命名为QuadraticSurface类,那么就可以用如下命令来生成对应的数学对象
manim -pql QuadraticSurface.py Demo
虽然你目前还不知道上面的命令后表示什么意思,后面我们会进行详细介绍的。
自此,我们把Manim就算安装好了,但是这种一边写脚本,一边通过命令来生成预览效果,感觉有点割裂,如果能够像平时在IDE里面写完代码然后直接调试编译运行的话就能立马看到预览效果,并根据反馈进行代码修改的话效率会提升不少,针对这种问题,主要有如下三种解决方案
一种是 jupyter notebook的魔法命令%%manim,就是在代码最前面加上一行这样的魔法命令就可以对代码独立执行了。
一种是通过VSCode插件,在VSCode里面主要通过一款叫Manim Sideview插件来进行自动渲染和预览的,但是这种渲染挺消耗计算资源的,需要耐心等一等便可以看到你想要看到的动画了。
一种是在代码最后面加上三行代码,起到临时设置作用
with tempconfig({'quality': 'medium_quality', 'preview':True}): #预览质量高中低设置
scene = QuadraticSurface() #您的类名
scene.render() #渲染
因为作者平时一直用VSCode作为python开发的IDE,所以毫不犹豫选择了VSCode作为Manim开发IDE,但第二种解决方案有时候会报路径错误,需要复杂设置,有时候为提升效率也采用第三种解决方案,所以一直处于后两者混用状态,屡试不爽。
一个上手例子
在VSCode准备如一个名叫CreateCircle.py的python脚本,你可以点击右上角的Runs a Slideview,在Pick your scene name选择CreateCircle,然后VSCode窗口右上角就会出现动画。
from manim import *
class CreateCircle(Scene): #media/videos/{module_name}/480p15
def construct(self):
circle = Circle() # create a circle
circle.set_fill(PINK, opacity=0.5) # set the color and transparency
self.play(Create(circle)) # show the circle on screen
manimsideview
至此,你可以愉快的在本地电脑玩耍Manim了,制作各种有意思的数学动画。
参考文献
1,https://www.tiobe.com/tiobe-index
2,https://baike.baidu.com/item/Python/407313?fr=aladdin
3,https://docs.manim.community/en/stable/installation.html
4,https://docs.manim.org.cn/
5,https://docs.manim.community/en/stable/installation/windows.html#working-with-manim