Skip to main content

在 Jupyter/IPython 中显示视频的单元格魔术渲染

项目描述

构建状态 编解码器 麻省理工学院许可证 粘合剂

manim(用于解释性数学视频的动画引擎)与 Jupyter 集成,当使用%%manim单元魔术包装场景定义时显示生成的视频。

快速预览

上面示例中的代码来自优秀的manim 教程

单击此处在浏览器中运行现场演示。

安装

pip3 install jupyter-manim

用法

要启用 manim 魔法,请先运行import jupyter_manim。然后,您可以像使用 manim 命令一样使用魔法:您的参数将被传递给 manim,就像这些是命令行选项一样。

例如,要渲染使用类Shapes(Scene)定义的场景,请使用

%%manim Shapes
from manimlib.scene.scene import Scene
from manimlib.mobject.geometry import Circle
from manimlib.animation.creation import ShowCreation

class Shapes(Scene):

    def construct(self):
        circle = Circle()
        self.play(ShowCreation(circle))

从 1.0 版开始,代码不再需要自包含 - jupyter_manim将尝试将您的变量(和导入的对象)从笔记本导出到 manim 脚本中。

大多数变量都可以轻松导出,但也有一些限制;简而言之,所有可以腌制的东西 都可以出口。此外,名称以下划线开头的变量将被省略。

要显示 manim 帮助和选项,请使用:

%%manim -h
pass

%%manim魔法(默认情况下)隐藏进度条以及 manim 生成的其他日志消息。您可以使用--verbose标志禁用此行为

在最新版本的 manimlib 中,您可以使用以下命令一次导入所有内容:

from manimlib.imports import *

视频播放器控制选项

  • --no-controls - 隐藏控件

  • --no-autoplay - 禁用自动播放功能

  • -r--resolution - 控制视频播放器的高度和宽度;此选项与 manim 共享,并且需要以下格式的分辨率: height,width,例如 %%manim Shapes -r 200,1000

  • --base64发送带有数据的视频: URL 而不是本地路径 - 对于远程笔记本(如 Google Colab)很有用,或将视频嵌入笔记本中(注意:笔记本大小可能会迅速增加)

兼容性和测试

这个包在 Ubuntu、Mac OS 和 Windows 上使用 Python 3.7 持续测试。

必须使用 ipython 运行测试,因为魔法依赖于可用的 IPython 实例:

python3 setup.py install
ipython -m pytest -- --cov=.

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

jupyter_manim-1.3.tar.gz (6.5 kB 查看哈希

已上传 source