跳转到主要内容

在Jupyter/IPython中显示视频的cell magic渲染

项目描述

Build Status codecov MIT License Binder

manim(解释数学视频的动画引擎)与Jupyter集成,当使用%%manim cell magic来封装场景定义时显示结果视频。

快速预览

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

点击此处在浏览器中运行实时演示

安装

pip3 install jupyter-manim

使用

要启用manim magic,请先运行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脚本中。

大多数变量可以轻松导出,但是存在一些限制;简而言之,所有可以被pickle序列化的内容都可以被导出。此外,以下划线开头的变量将被忽略。

要显示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 使用 data: 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 查看散列)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面