在Jupyter/IPython中显示视频的cell magic渲染
项目描述
将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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | a2613d28d2c7e66e13c1b876b5868907290a48a422048c77b5e0e496178e0d85 |
|
MD5 | e37f709600e79e633dd94433f9165ae6 |
|
BLAKE2b-256 | 24f9344ff17d9c3f8f63b713da5c5101aadc93f90d120d5b1049340fc3dbae26 |