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
渲染 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 (字典[字符串, 任意] | 无)
- 返回类型:
无