Manim魔法¶
限定名称: manim.utils.ipython\_magic.ManimMagic
- class ManimMagic(**kwargs)[source]¶
基础类:
Magics根据给定的配置创建一个可配置的对象。
- Parameters:
config (Config) – 如果为空,则使用默认值。如果 config 是一个
Config实例,它将用于配置该 实例。parent (Configurable实例, 可选) – 此对象的父Configurable实例。
shell (InteractiveShell)
注释
Configurable的子类必须在做任何其他事情之前调用
__init__()方法,并使用super():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的情况下运行一个代码块。
magicsoptions_tableparent一个特质,其值必须是特定类的实例。
registeredshell- manim(line, cell=None, local_ns=None)[来源]¶
渲染包含在IPython单元格中的Manim场景。 可以作为行或单元格魔法使用。
提示
此行的单元格魔法在JupyterLab环境中使用时效果最佳:虽然所有功能也适用于经典的Jupyter笔记本,但如果场景名称保持不变,有时在重复执行同一单元格时视频可能不会更新。
使用JupyterLab时不会出现此问题。
请参考https://jupyter.org/获取更多关于JupyterLab和Jupyter笔记本的信息。
在线模式下的使用:
%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构建文档。另请参阅manim directive for Sphinx。示例
首先确保在单元格中输入
import manim,或者甚至from manim import *并执行它。然后,一个典型的用于Manim的Jupyter笔记本单元格可能如下所示:%%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标志来完成。- Parameters:
line (str)
单元格 (字符串)
local_ns (dict[str, Any])
- Return type:
无