简介
不知道你在学习一些学科的时候是否经常觉得枯燥乏味(比如数学)?确实,这些比较严谨的逻辑学科中我们经常面对的是一些枯燥的公式,而非可视化的具象图。今天介绍一个工具Manim,它依靠Python来将一些枯燥的概念转换成我们可以理解的图像,从而帮助我们进行学习。先来看一个比较具象的例子,在这个例子中,我们使用动画的方式展示了一个数学公式:
安装
Manim有两个版本,一个是3Blue1Brown大佬的私人仓库版本,另一个是更加稳定的社区版本。推荐是使用社区版本,因此如果我们有需要,我们可以安装社区版本,按照安装文档描述,选择适合自己环境的版本按步骤进行安装即可。
使用示例
当安装完成之后,我们可以从示例文档中抽取一个示例进行测试,在项目目录下创建一个python文件,添加以下代码,并运行测试测试(预期能够画出一个圆形):
运行效果如下:
安装过程中存在的一些问题
Error: No such command 'init'
由于我本地机器上已经安装过conda,因此我更加倾向于conda的安装方式,参考官网的conda安装流程:
运行下来会报出以下错误:
此时我以为pixi是个包,缺失了,于是我就用pip install了一下,然后继续重新运行,接着就会报错Error: No such command 'init'.
看了一下发现这里pixi的命令少的可怜,根本不像一个包管理工具应该有的。这个 pixi 工具似乎是一个用于下载 Pixiv 图片的工具,而不是一个包管理器。于是去pixi的官网看了下,好吧,看来得现状个pixi才能继续走下去打开power shell,运行以下命令安装pixi
iwr -useb https://pixi.sh/install.ps1 | iex
再次运行即可,问题解决:
AttributeError: 'Group' object has no attribute 'command_class'
运行示例代码时,可能会遭遇以下错误:
(manim) D:\project\manim>manim -pql scene.py CreateCircle
Traceback (most recent call last):
File "D:\software\anaconda3\envs\manim\Scripts\manim-script.py", line 5, in <module>
from manim.__main__ import main
File "D:\software\anaconda3\envs\manim\lib\site-packages\manim__main__.py", line 7, in <module>
from .cli.cfg.group import cfg
File "D:\software\anaconda3\envs\manim\lib\site-packages\manim\cli\cfg\group.py", line 142, in <module>
@cfg.command(context_settings=cli_ctx_settings, no_args_is_help=True)
File "D:\software\anaconda3\envs\manim\lib\site-packages\cloup_commands.py", line 336, in command
name=name, cls=(self.command_class if cls is None else cls),
AttributeError: 'Group' object has no attribute 'command_class'
这可能是由于当前manim的版本问题导致的,可以在当前环境下将manim包升级一下:
问题解决:
latex failed but did not produce a log file. Check your LaTeX installation.
如果我们想要运行文章开头的示例中的效果,不可避免会出现的问题是这个错误。它提示我们本地没有安装latex(事实上这个程序会调用latex来进行数学公式的书写)。对于windows而言,推荐安装miktex引擎(安装文档)。同时在conda环境下我们可以安装PyLaTeX(pip/conda安装)安装完成之后再次运行可以看到如下效果: