ManimMagic

限定名称: manim.utils.ipython_magic.ManimMagic

class ManimMagic(**kwargs)[source]

基类: Magics

给定配置创建一个可配置对象。

参数:
  • config (Config) – 如果此项为空,则使用默认值。如果config是Config实例,则将用于配置该实例。

  • parent (Configurable实例, 可选) – 此对象的父Configurable实例。

  • shell (InteractiveShell)

注意

Configurable的子类必须在执行任何其他操作和使用super()之前调用__init__()方法。

class MyConfigurable(Configurable):
    def __init__(self, config=None):
        super(MyConfigurable, self).__init__(config=config)
        # Then any other code you need to finish initialization.

这确保了实例将得到正确配置。

方法

add_additional_args

manim

渲染 IPython 单元格中包含的 Manim 场景。

属性

config

一个特性,其值必须是指定类的实例。

cross_validation_lock

一个上下文管理器,用于在交叉验证锁设置为True时运行一个代码块。

magics

options_table

parent

一个特性,其值必须是指定类的实例。

registered

shell

manim(line, cell=None, local_ns=None)[source]

渲染 IPython 单元格中包含的 Manim 场景。可作为行或单元格魔法命令使用。

提示

此行和单元格魔法命令在 JupyterLab 环境中使用效果最佳:尽管所有功能也可用于经典的 Jupyter Notebooks,但如果场景名称保持不变,视频在重复执行同一单元格时有时可能不会更新。

使用 JupyterLab 时不会出现此问题。

有关 JupyterLab 和 Jupyter Notebooks 的更多信息,请参阅 https://jupyter.org.cn/

行模式用法

%manim [CLI options] MyAwesomeScene

单元格模式用法

%%manim [CLI options] MyAwesomeScene

class MyAweseomeScene(Scene):
    def construct(self):
        ...

运行 %manim --help%manim render --help 以查看可能的命令行界面选项。

注意

渲染视频在笔记本中显示的最大宽度可以通过 media_width 配置选项进行配置。默认设置为 25vw,即您当前视口宽度的 25%。为了使输出尽可能大,请设置 config.media_width = "100%"

media_embed 选项会将图像/视频输出嵌入到笔记本中。这通常是不推荐的,因为它会使笔记本文件非常大,但在某些平台(特别是 Google 的 CoLab,除非通过 config.embed = False 抑制,否则会自动启用)是必需的,并且在笔记本(或转换后的 HTML 文件)相对于视频位置移动时也需要。用例包括使用 Sphinx 和 JupyterBook 构建文档。另请参阅 适用于 Sphinx manim 指令

示例

首先,请确保在单元格中放入 import manim,甚至 from manim import * 并进行评估。然后,典型的 Manim Jupyter Notebook 单元格可能如下所示:

%%manim -v WARNING --disable_caching -qm BannerExample

config.media_width = "75%"
config.media_embed = True

class BannerExample(Scene):
    def construct(self):
        self.camera.background_color = "#ece6e2"
        banner_large = ManimBanner(dark_theme=False).scale(0.7)
        self.play(banner_large.create())
        self.play(banner_large.expand())

评估此单元格将渲染并显示在单元格主体中定义的 BannerExample 场景。

注意

如果您想隐藏包含输出进度条的红色框,应将 progress_bar 配置选项设置为 None。这也可以通过将 --progress_bar None 作为 CLI 标志传递来实现。

参数:
  • line (字符串)

  • cell (字符串 | )

  • local_ns (字典[字符串, 任意] | )

返回类型: