Jupyter 笔记本

Binder

Binder 是一个在线平台,以 Jupyter 笔记本的形式托管可共享和可定制的计算环境。Manim 附带了一个内置的 %%manim Jupyter 魔术命令,这使得在这些笔记本中使用它变得非常容易。

要查看此类环境的示例,请访问我们的交互式教程 https://try.manim.community/

以允许通过Binder交互式共享的方式准备自己的笔记本相对简单:

  1. 首先,准备一个包含一个或多个笔记本的目录,您希望在交互式环境中共享这些笔记本。您可以通过使用本地安装的Manim的Jupyter笔记本来创建这些笔记本,或者也可以在我们现有的交互式教程环境中工作。

  2. 在包含您的笔记本的同一目录中,添加一个名为Dockerfile的文件,内容如下:

    FROM docker.io/manimcommunity/manim:v0.9.0
    
    COPY --chown=manimuser:manimuser . /manim
    

    不要忘记将版本标签 v0.9.0 更改为你在本地创建笔记本时使用的版本。

  3. 将包含您的工作表和Dockerfile的目录公开(特别是对Binder!)。有几种不同的选项可以做到这一点,在社区中我们通常使用GitHub仓库或gists。

  4. 一旦您的材料公开可用,请访问 https://mybinder.org 并按照那里的说明 为您的工作表生成一个交互式环境。

提示

包含我们交互式教程的仓库可以在https://github.com/ManimCommunity/jupyter_examples找到。

Google Colaboratory

也可以在 Google Colaboratory 环境中安装 Manim。 与 Binder 不同,在 Binder 中你可以预先自定义和准备环境(例如 Manim 已经安装并可以使用),在 Google Colab 中每次启动新笔记本时都需要进行这些操作。幸运的是,这并不特别困难。

创建新笔记本后,将以下代码块粘贴到单元格中,然后执行它。

!sudo apt update
!sudo apt install libcairo2-dev ffmpeg \
    texlive texlive-latex-extra texlive-fonts-extra \
    texlive-latex-recommended texlive-science \
    tipa libpango1.0-dev
!pip install manim
!pip install IPython==8.21.0

你应该开始看到Colab正在安装这些命令中指定的所有依赖项。执行完成后,系统会提示你重启运行时。点击单元格输出底部的“重启运行时”按钮。现在你已经准备好使用Colab中的Manim了!

为了检查一切是否按预期工作,首先通过运行导入Manim

from manim import *

在一个新的代码单元格中。然后创建另一个包含以下代码的单元格:

%%manim -qm -v WARNING SquareToCircle

class SquareToCircle(Scene):
   def construct(self):
      square = Square()
      circle = Circle()
      circle.set_fill(PINK, opacity=0.5)
      self.play(Create(square))
      self.play(Transform(square, circle))
      self.wait()

运行此单元格后,应该会渲染并显示一个将正方形转换为圆形的简短动画。