数学概念动画化:windows安装manim教程

199 阅读3分钟

简介

不知道你在学习一些学科的时候是否经常觉得枯燥乏味(比如数学)?确实,这些比较严谨的逻辑学科中我们经常面对的是一些枯燥的公式,而非可视化的具象图。今天介绍一个工具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安装)安装完成之后再次运行可以看到如下效果:

其他代码示例参考文档